在 ASP.NET 项目 (C#) 和 SQL Server 2008 中,应如何确定管理员?
我的用户表中是否应该有一个属性来确定管理员?即使我只有 1 个管理员?
id username type
--------------------------------------
1 Ali1 admin
2 James3 user
3 Carlos31 user
4 Kuku user
或者
在检查 session 时是否应该通过特殊的ID来确定管理员?
假设管理员是具有 id=1 的用户
if(Session["id"].toString().Equals("1"))
{
//Admin
}
else
{
//Normal User
}
哪种方法更好、更安全?有更好的吗?
最佳答案
我不会检查特定的 ID,而是检查用户类型。您不知道数据是否会发生变化,也不知道是否需要添加额外的管理员。在应用程序中对这样的值进行硬编码通常是一个坏主意。相反,创建一个 UserType 类并检查 UserType.Admin 或 UserType.User 角色并处理 BLL 和/或 DAL 中的代码。
因此,为了回答您的问题,您的第一个实现效果会很好。
祝你好运。
关于c# - 如何确定网站管理员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14361414/