微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

了解C#Web表单应用程序中的身份验证

如何解决了解C#Web表单应用程序中的身份验证

我有一个用C#Web表单编写的Web应用程序,在web.config中有以下代码行:

<authentication mode="Windows" />

据我了解,这意味着该应用程序的用户必须使用Windows用户帐户。但这是针对Web应用程序的。这如何与Web应用程序绑定,在Web应用程序中可以通过应用程序本身在内部创建新用户,而不是通过Windows AD?

其次,尽管在web.config中进行了此配置,但应用程序仍会滚动其自身的身份验证-有一个登录表单和随附的代码可以登录登录请求,创建会话并将它们重定向到特定页面

那么可以肯定地说此配置什么也不做吗?

有些相关,我正在将该应用程序从Web窗体转换为MVC,并且在Web窗体项目中创建了一个会话变量,但似乎无法从MVC项目中访问它。有办法吗?这是我在网络表单项目中设置的方法

userSession = new Models.UserSession()
{
    Prop1 = value,Prop2 = "etc",};
HttpContext.Current.Session["UserSession"] = userSession;

这是我尝试从MVC项目中读取它的方式

var userSession = (Models.UserSession)System.Web.HttpContext.Current.Session["UserSession"];
//userSession is null.

解决方法

Windows身份验证需要在Web服务器本身上设置,并且默认情况下在新版本中被禁用。有关更多详细信息,请参见此链接https://docs.microsoft.com/en-us/iis/configuration/system.webserver/security/authentication/windowsauthentication/

对于会话变量,您是说要在两个不同的应用程序之间共享会话?在这种情况下,您必须考虑共享存储解决方案,例如在SQL Server https://docs.microsoft.com/en-us/troubleshoot/aspnet/configure-sql-store-session-state

内部

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。