1. 修改web.config System.Web ,修改后如下 :
<system.web>
<authentication mode="Forms" >
<forms loginUrl="~/Home/LoginOn" timeout="2880"></forms>
</authentication>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
<httpModules>
<add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" />
</httpModules>
</system.web>
2. 修改 System.WebServer 的 节点,删除
<remove name=
"FormsAuthentication"
/> ,修改后如下
:
<system.webServer>
<modules>
<!--<remove name="FormsAuthentication" />-->
<remove name="ApplicationInsightsWebTracking" />
<add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" />
</modules>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
登录添加代码:
FormsAuthentication.SetAuthCookie(viewModel.LoginName, true);
登录后
string name = User.Identity.Name; // 登录的用户名
bool hasLogin = User.Identity.IsAuthenticated; // true
注意:mvc5 已经不用Forms认证了, 用的Claims-based
参考如下文章:
http://www.cnblogs.com/jesse2013/p/membership.html
http://www.cnblogs.com/jesse2013/p/membership-part2.html
http://www.cnblogs.com/jesse2013/p/membership-part3.html
http://www.cnblogs.com/jesse2013/p/aspnet-identity-claims-based-authentication-and-owin.html