Asp.net web.config中的凭据是否允许一次仅访问一个用户?
我有一个非常小的网站,由几个用户使用,在他们填写的表格中共享相同的数据。计划是很快妥善解决这一问题,但目前情况就是这样。 我只是将用户和密码输入与web.config中的一些键进行比较:Asp.net web.config中的凭据是否允许一次仅访问一个用户?,asp.net,login,Asp.net,Login,我有一个非常小的网站,由几个用户使用,在他们填写的表格中共享相同的数据。计划是很快妥善解决这一问题,但目前情况就是这样。 我只是将用户和密码输入与web.config中的一些键进行比较: <configuration> <connectionStrings> <add name="PMIcommConnectionString" connectionString="xxxxxx /> </connectionStrings>
<configuration>
<connectionStrings>
<add name="PMIcommConnectionString" connectionString="xxxxxx />
</connectionStrings>
<appSettings>
<add key="UserName" value="xxxxxx" />
<add key="Password" value="xxxxxxx" />
<add key="Telerik.Skin" value="Windows7" />
</appSettings>
<system.web>
<customErrors mode="On" defaultRedirect="~/Error.aspx" />
<compilation debug="true" targetFramework="4.5">
<assemblies>
.........
</assemblies>
</compilation>
<httpRuntime targetFramework="4.5" />
<pages>
<controls>
<add tagPrefix="telerik" namespace="Telerik.Web.UI" assembly="Telerik.Web.UI" />
</controls>
</pages>
<httpHandlers>
........
</httpHandlers>
<httpModules>
<add name="RadUploadModule" type="Telerik.Web.UI.RadUploadHttpModule" />
<add name="RadCompression" type="Telerik.Web.UI.RadCompression" />
</httpModules>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
<remove name="RadUploadModule" />
<add name="RadUploadModule" type="Telerik.Web.UI.RadUploadHttpModule" preCondition="integratedMode" />
<remove name="RadCompression" />
<add name="RadCompression" type="Telerik.Web.UI.RadCompression" preCondition="integratedMode" />
</modules>
<handlers>
......
</handlers>
</system.webServer>
</configuration>
是的,它可以,每个用户都有自己的会话,但反过来,它取决于您如何实现用户身份验证的服务器端逻辑。是否使用表单身份验证?是的,它可以,但您希望有一种方法将它们链接在一起
<add key="JON-Username" value="JON" />
<add key="JON-Password" value="jonspassword" />
<add key="MMC-Username" value="MMC" />
<add key="MMC-Password" value="mccspassword" />
显然,您需要编写服务器端逻辑,以便它知道如何为用户名获取正确的密钥
或者,你可以这样做
<add key="JON" value="jonspassword" />
<add key="MMC" value="mmcspassword" />
但这样做的缺点是,如果您想使用任何其他AppSettings,您无法区分哪些是用于其他设置的,哪些是用于凭据的,这就是我推荐第一种方法的原因
话虽如此,我的首要建议是使用适当的数据库来存储此类信息,并在站点内提供管理视图以配置谁有访问权限。好的,也许您可以使用此系统来处理对网站“私有”区域的访问,是的,您可以通过以下方式在appsetting中轻松检索密钥:
string jonUsername = WebConfigurationManager.AppSettings["JON-Username"];
string jonPassw = WebConfigurationManager.AppSettings["JON-Password"];
if(myUsernameInputfield.Text == jonUsername && myPasswInputfield.Text == jonPassw)
{
// ok this guy have the right to access to my page
}
比较用户插入的值的步骤
如果您愿意这样做,也许您还应该missig实现细节,以提供完整的解决方案answer@Infer-在上,我在问题中添加了web.config。实际上,web.config中没有表单验证。Borys,我在问题中添加了web.config。如果我需要添加一种身份验证的形式,你能给我一些建议吗?Thanks@Nullbyte根据您的评论,您不明白什么是表单身份验证。请看。