我有一个现有的 Windows Phone 7 应用程序,使用我的自有授权(玩家通过别名和密码登录,并针对数据库进行验证)连接到 MVC Web 服务。
现在我想转移到 ASP.NET Web API,但是我有些困惑如何为它添加安全性?
我看到有 AuthorizeAttribute
,但我需要做什么才能让他们被授权?
希望你能提供任何指导。
我有一个现有的 Windows Phone 7 应用程序,使用我的自有授权(玩家通过别名和密码登录,并针对数据库进行验证)连接到 MVC Web 服务。
现在我想转移到 ASP.NET Web API,但是我有些困惑如何为它添加安全性?
我看到有 AuthorizeAttribute
,但我需要做什么才能让他们被授权?
希望你能提供任何指导。
AuthorizeAttribute
只检查Thread.CurrentPrincipal
来确定用户是否有权限访问指定的资源(在这种情况下是控制器操作),它不提供任何类型的身份验证机制。AuthenticateUser
方法并返回IPrincipal
。如果返回值为null,则表示用户未经过身份验证。如果您提供了IPrincipal
,那么该IPrincipal
将被设置,并且您的AuthorizeAttribute
可以对其进行检查。IPrincipal
。假设您正在使用ASP.NET主机,可以按如下方式注册您的身份验证处理程序:GlobalConfiguration.Configuration.MessageHandlers.Add(new MyAuthHandler());
AuthorizeAttribute
进行授权。