我正在开发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个字母,因为其他字母是随机数字。这是可能的,我该怎么做呢?
这是一个复杂的问题,我很难回答这个问题。但有一件事是肯定的,除了化妆品之外,你不应该在silvelight代码中进行任何用户名或密码检查。您应该将凭据传递给server / api并在那里进行检查。否则,任何黑客都很容易绕过你的保护。
由于您看起来像是在Windows域中,因此您不需要收集用户名。这已经在kerberos令牌中对服务器的每个请求中传递。如果您在服务器上打开Windows身份验证,则可以在此处获取用户名Thread.CurrentPrincipal.Identity.Name或类似名称,具体取决于您的api是什么堆栈。
还有另一个类似于此的SO帖子:What is the Best way for Authentication/Authorization in Silverlight?