ASP.NET-C#-检索用户名并与SQL数据库进行比较
我有一个名为“administration”的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语句来实现这一点 但是,我不确定如何执行以下操作:如果用户在数据库中,我希望根据他们的角色显
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。