web.config中的凭据是否只允许一次访问一个用户?

时间:2014-03-31 16:26:59

标签: asp.net login

我有一个非常小的网站,有几个用户在他们填写的表格中共享相同的数据。计划是很快就将其排除在外,但现在就是这样。 我只是将用户和密码输入与web.config中的一些键进行比较:

    <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>

我的问题是:是否可以使用这样的登录系统同时登录两个用户?

3 个答案:

答案 0 :(得分:0)

是的,它可以并且每个用户都有自己的会话,但这又取决于您如何实现用户身份验证的服务器端逻辑。是否使用了表单身份验证?

答案 1 :(得分:0)

是的,它可以,你想要有一种方法将它们连接在一起。

<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,你就无法分辨出哪些用于其他设置以及哪些用于凭据,这就是我推荐第一种方法的原因。 / p>

话虽如此,我的最高建议是使用适当的数据库来存储此类信息,并在站点内提供管理视图,以配置谁有权访问。

答案 2 :(得分:0)

好的,可能您可以使用此系统来处理对您网站“私密”区域的访问,是的,您可以通过以下方式轻松检索您的密钥:

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
 }

比较用户插入的值

如果你这样做,也许你也应该encrypt your webconfig