使用Windows身份验证的ASP.NET应用程序登录
问题描述:
我想要在使用Windows身份验证获取应用程序时对用户进行身份验证。 我设法使我的应用程序运行在Windows身份验证,但现在我想只让特定用户进入。表单身份验证对我来说并不好,因为我不需要登录页面。使用Windows身份验证的ASP.NET应用程序登录
那么过滤只有特定用户的最佳做法是什么?人们如何在没有登录页面的情况下进入应用程序?
谢谢大卫。
答
在xml节点中,添加和配置模式。使用users属性指定用户名的逗号分隔列表。您可以使用问号(?)作为匹配任何用户名的通配符。
<authorization>
<allow users="username1, username2"/>
<deny users=”?”/>
</authorization>
上面的代码拒绝访问所有用户除了username1
和username2
。仅供参考,您还可以在系统中创建角色并允许基于角色的访问。使用roles
属性代替users
属性。
<authorization>
<allow roles="Administrators"/>
<deny users="*"/>
</authorization>
这是你想要的吗?
它确实有帮助。但是我最初想要的是一种将被调用的方法,并允许我决定用户是否获得应用程序授权的逻辑。有没有办法做到这一点? – 2012-07-23 05:54:23
它使用Windows认证模块(http://msdn.microsoft.com/en-us/library/system.web.security.windowsauthenticationmodule.aspx)及其密封类,所以你不能扩展它。 – Baz1nga 2012-07-23 06:11:18
你可以实施你呃IHttpModule ...你可以使它类似于WindowsAuthenticationModule并尝试在那里添加你的自定义代码,但不知道这是否值得努力.. – Baz1nga 2012-07-23 06:14:06