允许用户从 Web.config 获得 IIS 授权角色
Posted
技术标签:
【中文标题】允许用户从 Web.config 获得 IIS 授权角色【英文标题】:Allowing user to IIS Authorization roles from Web.config 【发布时间】:2019-07-26 15:18:45 【问题描述】:我正在开发一个 Silverlight/WPF 应用程序,我正在尝试允许某些用户访问该网站。 是否可以通过使用文本框输入用户名来允许用户?然后将其解析为 IIS .NET 授权规则,以允许该特定用户访问。
比如我在这里输入用户名
我想把它送到这里...
<system.web>
<roleManager enabled="false" />
<compilation debug="true" targetFramework="4.0" />
<identity impersonate="true" />
<authentication mode="Windows" />
<authorization>
<allow users="AX/Axxxxxx"/>
我猜我需要在 xaml.cs 文件中编写语法? 它需要在文本框中检查正确的值,然后在我单击“确定”按钮后继续完成自动化。
可以举个例子吗
if (UserNameBox.text.Contains("AX\A") )
do something...
我想只检查前 4 个字母,因为其他字母是随机数。 这可能吗?我该怎么做?
【问题讨论】:
【参考方案1】:这是一个复杂的问题,我很难简短地回答。但有一件事是肯定的,除了化妆品之外,您不应该在 silvelight 代码中检查任何用户名或密码。您应该将凭据传递给服务器/api并在那里进行检查。否则任何黑客都很容易绕过您的保护。
由于您似乎在 Windows 域中,因此您实际上不需要收集用户名。这已经在每个请求中以 kerberos 令牌传递给服务器。如果您在服务器上打开 Windows 身份验证,您可以在此处获取用户名 Thread.CurrentPrincipal.Identity.Name 或类似名称,具体取决于您的 api 是什么堆栈。
还有另一个类似的 SO 帖子: What is the Best way for Authentication/Authorization in Silverlight?
【讨论】:
谢谢您,我会检查一下并尝试按照您的提示进行操作。 不能以某种方式通过代码将它们添加到 web.config 文件中吗?我不认为我完全理解您的回答如何解决我的问题..? 没有办法解决它,而是将您推向正确的方向。您在 AD 中有您的用户吗?如何配置访问控制很大程度上取决于您拥有什么样的后端。以上是关于允许用户从 Web.config 获得 IIS 授权角色的主要内容,如果未能解决你的问题,请参考以下文章
使用 web.config 允许服务器端包含在 HTML 文件 (IIS) 中
IIS7,web.config 只允许在网站的 /uploads 目录中使用静态文件处理程序