Tor*_*ben 3 t-sql sql-server sql-server-2005 user-management sql-server-2008
我有一个Web应用程序,它使用SQL Server 2005数据库.
我的问题是,该应用程序没有角色管理.因此,应用程序始终使用一个默认用户访问数据库.但现在我必须保存并仅为当前用户访问值.
有没有办法做到这一点?也许类似于Web服务器上的会话?如果有可能从T-SQL访问Web服务器的当前会话ID,最好的方法是.
有谁理解我的问题?:)
允许将系统提供的当前登录值插入表中
DECLARE @sys_usr char(30);
SET @sys_usr = SYSTEM_USER;
SELECT 'The current user is: '+ @sys_usr;
GO
Run Code Online (Sandbox Code Playgroud)
来自MSDN
在我看来,最好不要这样做.另一种方法:从Web服务器发送到存储过程当前用户:
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;
Run Code Online (Sandbox Code Playgroud)