我有一个 Web 应用程序,它使用 SQL Server 2005 数据库。
我的问题是,该应用程序没有角色管理。因此应用程序总是使用一个默认用户访问数据库。但现在我必须只为当前用户保存和访问一个值。
有什么办法吗?也许类似于 Web 服务器上的 session ?最好的方法是,如果有任何可能从 T-SQL 访问 Web 服务器的当前 session ID。
有人了解我的问题吗? :)
最佳答案
Allows a system-supplied value for the current login to be inserted into a table
DECLARE @sys_usr char(30);
SET @sys_usr = SYSTEM_USER;
SELECT 'The current user is: '+ @sys_usr;
GO
来自 MSDN
在我看来,最好不要这样做。另一种方式:从网络服务器发送到存储过程当前用户:
command.CommandText = "EXEC mySP @user";
command.Parameters.Add("@user").Value = ((YourOwnUserClass)Session["user"]).Name;
// or System.Web.HttpContext.Current.User.Identity.Name; to use built-in
// from web page it becomes this.User.Identity.Name;
关于sql-server - SQL Server 2005/2008 : Identify current user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2605510/