我已将MVC应用程序配置为以传统方式使用Forms身份验证。
<authentication mode="Forms">
<forms cookieless="UseCookies" slidingExpiration="true" timeout="1">
</forms>
</authentication>
但是,我允许客户端选择他的Web应用程序进行身份验证的方式(URL令牌/ Cookie),以及他的应用程序会话在到期之前应该持续多长时间(超时)
我有办法通过代码执行此操作吗?我只通过web.config看到了这个实现?
我想从数据库中读取设置并将它们应用于Global.asax - &gt; OnApplicationStart()
答案 0 :(得分:3)
看看WebActivatorEx。关于它的功能,这是一个很好的blog。要配置FormsAuthentication,您必须在应用程序启动之前执行配置方法。 WebActivatorEx将为您处理。如果您不想使用第三方软件包,可以在AssemblyInfo.cs类中指定此 [assembly:PreApplicationStartMethod(typeof(AppConfig),“Configure”)] 。 Here's another point of reference that talks about it.
[assembly: WebActivatorEx.PreApplicationStartMethod(typeof(AppConfig), "Configure")]
public static class AppConfig
{
public static void Configure()
{
var settings = new NameValueCollection();
settings.Add("defaultUrl", "~/Account/Default.aspx");
settings.Add("loginUrl", "~/Default.aspx");
settings.Add("timeout", "10");
FormsAuthentication.EnableFormsAuthentication(settings);
}
}