Asp.net mvc ASP.NET MVC 3+Windows身份验证+数据库登录检查
我需要了解设置ASP.NET MVC 3 web应用程序的正确方法,其中用户以两种方式登录: 它们是域Windows身份验证的一部分 应用程序的用户表/存储表示他们有权访问应用程序 要处理第一个要求,我在web.config中将authenization元素设置为Windows:Asp.net mvc ASP.NET MVC 3+Windows身份验证+数据库登录检查,asp.net-mvc,authentication,asp.net-mvc-3,Asp.net Mvc,Authentication,Asp.net Mvc 3,我需要了解设置ASP.NET MVC 3 web应用程序的正确方法,其中用户以两种方式登录: 它们是域Windows身份验证的一部分 应用程序的用户表/存储表示他们有权访问应用程序 要处理第一个要求,我在web.config中将authenization元素设置为Windows: <authentication mode="Windows" /> 有什么想法吗?我认为在ASP.NET MVC中有更好的方法通过创建全局授权筛选器来实现它我认为在ASP.NET MVC中有更好的方法通过
<authentication mode="Windows" />
有什么想法吗?我认为在ASP.NET MVC中有更好的方法通过创建全局授权筛选器来实现它我认为在ASP.NET MVC中有更好的方法通过创建全局授权筛选器来实现它如果在游戏中使用全局授权筛选器,那就太晚了。授权通常用于检查当前用户是否有权访问给定的控制器/操作。如果您的应用程序中没有任何不受ASP.NET MVCA控制的资源,则我看不到访问所有控制器和访问应用程序之间的任何区别。在游戏中,使用MVCA筛选器将太迟。授权通常用于检查当前用户是否有权访问给定的控制器/操作。如果您的应用程序中没有ASP.NET MVC不控制的任何资源,我看不到访问所有控制器和访问应用程序之间有任何区别
void MvcApplication_AuthenticateRequest( object sender, EventArgs e )
{
var formsAuthTicket = GetFormsAuthTicket();
if ( formsAuthTicket == null || formsAuthTicket.Expired )
{
var userHasAccess = true; //TODO: Ask the someone if the user has access
if ( userHasAccess )
{
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket( 1,
HttpContext.Current.User.Identity.Name,
DateTime.Now,
DateTime.Now.AddMinutes( 1 ),
true,
HttpContext.Current.User.Identity.Name );
string encTicket = FormsAuthentication.Encrypt( authTicket );
this.Response.Cookies.Remove( FormsAuthentication.FormsCookieName );
this.Response.Cookies.Add( new HttpCookie( FormsAuthentication.FormsCookieName, encTicket ) );
}
else
throw new HttpException( 401, "User is not authorized" );
}
}