我正在创建一个包含两个主要部分的数据库:客户可以看到的前端和只有公司可以看到的后端。
这是一个电子邮件订阅者系统,因此我希望客户能够查看,添加,编辑和删除他们在电子邮件订阅者表中的条目,但是所有与管理员相关的表都应从其中隐藏。
由于我是SQL Server 2017的新手,所以我仍然要注意登录,用户和角色。
我想问的主要问题是什么是最好的方法?我知道我可以手动设置数据库用户并向他们授予授予/拒绝权限,但是我如何自动执行此操作,以便每次将客户的详细信息添加到客户表的新行时,边栏中的新数据库用户就是添加。
答案 0 :(得分:0)
尝试一下
public static void AddUsersToDatabase(string databaseserver, string databasename, string usertobeadded)
{
using (SqlConnection conn = new SqlConnection("server=" + databaseserver + "; database=" + databasename + "; User ID=WPDOMAIN\\spdev; Integrated Security=SSPI; password=Password123;"))
{
conn.Open();
string password = "Password123";
string sql = "CREATE LOGIN " + usertobeadded + " WITH PASSWORD = '" +
password + "'; USE " + databasename + "; CREATE USER " + usertobeadded + " FOR LOGIN " + usertobeadded + ";";
SqlCommand cmd = new SqlCommand(sql);
cmd.ExecuteNonQuery();
conn.Close();
}
}