ASP.NET-C#-检索用户名并与SQL数据库进行比较

ASP.NET-C#-检索用户名并与SQL数据库进行比较,c#,asp.net,sql,database,C#,Asp.net,Sql,Database,我有一个名为“administration”的SQL数据库,其中包含用户名和角色 我希望对我的ASP.NET应用程序执行以下操作: 一旦有人访问我的intranet站点,我就会使用 string userName=System.Security.Principal.WindowsIdentity.GetCurrent().Name 然后我检查这个用户名是否在我的数据库中。我假设我可以使用IF EXISTS语句来实现这一点 但是,我不确定如何执行以下操作:如果用户在数据库中,我希望根据他们的角色显

我有一个名为“administration”的
SQL
数据库,其中包含用户名和角色

我希望对我的ASP.NET应用程序执行以下操作:

一旦有人访问我的intranet站点,我就会使用

string userName=System.Security.Principal.WindowsIdentity.GetCurrent().Name

然后我检查这个用户名是否在我的数据库中。我假设我可以使用
IF EXISTS
语句来实现这一点

但是,我不确定如何执行以下操作:如果用户在数据库中,我希望根据他们的角色显示网页(即,所有页面都不同管理=查看所有内容和按钮,用户=所有内容无按钮)

但是,如果他们的用户名不在我的数据库中,我将显示一个空白页或类似“拒绝访问”的内容

这是我被要求做的方式,但我似乎无法解决它


有可能吗?

字符串用户名=System.Security.Principal.WindowsIdentity.GetCurrent().Name

获取用户名后

sqlconnection cn = new sqlconnection("give connectionstring");
cn.open();
   sqlcommand cmd = new sqlcommand();
   cmd.commandtext = "select * from "table"; // table name give.
   cmd.connection = cn;
   sqldatareader rdr = cmd.executereader();
   while(rdr.read()){
        if(stringName = rdr[columnnumber].toString());
             flag = true;
   }
   if(flag)
    //take decesion
   else
   // take decesion.
cn.close();

你可以这样做。你可以用。信息技术在我为美国写的语法中有一些错误

当然有可能。我们是程序员。如果需要,则需要条件来决定显示什么。但更多的逻辑可以用查找变量代替,如
name
role
,等等。存储在用户数据库中的任何数据都可以成为显示变量。您所说的是基于角色的安全性-人们只能看到分配给他们的角色允许他们看到的内容。看一看MSDN。