c# - 如何确定网站管理员?

标签 c# asp.net sql security

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

相关文章:

c# - 如何限制表达式访问 Roslyn 中的外部类型?

c# - 要区分的 KeyValuePair 列表

mysql - 检查行中相邻列中是否有相同的条目

mysql - 在聚合 sql 语句中插入一个 where 条件

c# - LINQ,跳过并接受排序

c# - 在没有 RDBMS 的情况下,在 .Net 中对 DataTables 或类似物运行 SQL 查询

c# - 我是一个初学者,我无法解决C#代码中的一些错误

C# REST webservice认证问题

asp.net - web server (IIS) 是否应该阻止 package.json

mysql - 转换为 Float 返回 ActiveRecord::StatementInvalid: Mysql2::Error