我正在使用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...
}
我正在考虑只检查前四个字母,因为其他四个都是随机数。 这可能吗,我该怎么做呢?
答案 0 :(得分:0)
这是一个复杂的问题,我很难简短地回答。但是可以肯定的是,除了化妆品,您永远不应在silvelight代码中进行任何用户名或密码检查。您应该将凭据传递到服务器/ api,并在那里进行检查。否则,任何黑客都很容易绕过您的保护。
由于您似乎在Windows域中,因此您实际上不需要收集用户名。这已在每个请求中以kerberos令牌传递给服务器。如果您在服务器上打开Windows身份验证,则可以根据api的堆栈在此处选择Thread.CurrentPrincipal.Identity.Name或类似名称的用户名。
还有另一个类似的帖子: What is the Best way for Authentication/Authorization in Silverlight?