⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 users_permissions.aspx

📁 在线SQL数据库企业管理器在线SQL数据库企业管理器
💻 ASPX
📖 第 1 页 / 共 2 页
字号:
<!--#include file="includes/topnav.aspx"-->

<%@ Import Namespace="System.Collections" %>


<%
	'Try
   '		d.execute("REVOKE SELECT ON INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS to [Wes Grant]")
	'Catch e as Exception
	'	DisplayError(e)
	'End Try

	if request("save") <> "" then
		Dim x as Integer
		
		For X = 1 to Request("FieldCount")	
			
			if request("Select_" & x) <> request("CSelect_" & X) then
				Select Case Trim(request("Select_" & X)) 
					Case "GRANT" :
							d.execute("GRANT SELECT ON [" & Request("OwnerName_" & X) & "].[" & Request("Name_" & X) & "] to [" & request("UserName") & "]")
					Case "DENY"
							d.execute("DENY SELECT ON [" & Request("OwnerName_" & X) & "].[" & Request("Name_" & X) & "] to [" & request("UserName") & "]")
					Case Else:
						if Request("CSelect_" & X) <> "" then 
							d.execute("REVOKE SELECT ON [" & Request("OwnerName_" & X) & "].[" & Request("Name_" & X) & "] to [" & request("UserName") & "]")
						end if
				End Select
			end if
			
			if request("INSERT_" & x) <> request("CINSERT_" & X) then
				Select Case Trim(request("INSERT_" & X)) 
					Case "GRANT" :
							d.execute("GRANT INSERT ON [" & Request("OwnerName_" & X) & "].[" & Request("Name_" & X) & "] to [" & request("UserName") & "]")
					Case "DENY"
							d.execute("DENY INSERT ON [" & Request("OwnerName_" & X) & "].[" & Request("Name_" & X) & "] to [" & request("UserName") & "]")
					Case Else:
						if Request("CINSERT_" & X) <> "" then 
							d.execute("REVOKE INSERT ON [" & Request("OwnerName_" & X) & "].[" & Request("Name_" & X) & "] to [" & request("UserName") & "]")
						end if
				End Select
			end if
			
			if request("Update_" & x) <> request("CUpdate_" & X) then
				Select Case Trim(request("Update_" & X)) 
					Case "GRANT" :
							d.execute("GRANT UPDATE ON [" & Request("OwnerName_" & X) & "].[" & Request("Name_" & X) & "] to [" & request("UserName") & "]")
					Case "DENY"
							d.execute("DENY UPDATE ON [" & Request("OwnerName_" & X) & "].[" & Request("Name_" & X) & "] to [" & request("UserName") & "]")
					Case Else:
						if Request("CUPDATE_" & X) <> "" then 
							d.execute("REVOKE UPDATE ON [" & Request("OwnerName_" & X) & "].[" & Request("Name_" & X) & "] to [" & request("UserName") & "]")
						end if
				End Select
			end if
			
			if request("DELETE_" & x) <> request("CDELETE_" & X) then
				Select Case Trim(request("DELETE_" & X)) 
					Case "GRANT" :
							d.execute("GRANT DELETE ON [" & Request("OwnerName_" & X) & "].[" & Request("Name_" & X) & "] to [" & request("UserName") & "]")
					Case "DENY"
							d.execute("DENY DELETE ON [" & Request("OwnerName_" & X) & "].[" & Request("Name_" & X) & "] to [" & request("UserName") & "]")
					Case Else:
						if Request("CDELETE_" & X) <> "" then 
							d.execute("REVOKE DELETE ON [" & Request("OwnerName_" & X) & "].[" & Request("Name_" & X) & "] to [" & request("UserName") & "]")
						end if
				End Select
			end if
			
			if request("EXECUTE_" & x) <> request("CEXECUTE_" & X) then
				Select Case Trim(request("EXECUTE_" & X)) 
					Case "GRANT" :
							d.execute("GRANT EXECUTE ON [" & Request("OwnerName_" & X) & "].[" & Request("Name_" & X) & "] to [" & request("UserName") & "]")
					Case "DENY"
							d.execute("DENY EXECUTE ON [" & Request("OwnerName_" & X) & "].[" & Request("Name_" & X) & "] to [" & request("UserName") & "]")
					Case Else:
						if Request("CEXECUTE_" & X) <> "" then 
							d.execute("REVOKE EXECUTE ON [" & Request("OwnerName_" & X) & "].[" & Request("Name_" & X) & "] to [" & request("UserName") & "]")
						end if
				End Select
			end if
			
			if request("REFERENCES_" & x) <> request("CREFERENCES_" & X) then
				Select Case Trim(request("REFERENCES_" & X)) 
					Case "GRANT" :
							d.execute("GRANT REFERENCES ON [" & Request("OwnerName_" & X) & "].[" & Request("Name_" & X) & "] to [" & request("UserName") & "]")
					Case "DENY"
							d.execute("DENY REFERENCES ON [" & Request("OwnerName_" & X) & "].[" & Request("Name_" & X) & "] to [" & request("UserName") & "]")
					Case Else:
						if Request("CREFERENCES_" & X) <> "" then 
							d.execute("REVOKE REFERENCES ON [" & Request("OwnerName_" & X) & "].[" & Request("Name_" & X) & "] to [" & request("UserName") & "]")
						end if
				End Select
			end if
			
		Next
	
	End if

%>


<form action="users_permissions.aspx" method="post">
<input type="hidden" name="save" value="save">
<table width="450" class="TableStyle" Cellpadding="2" cellspacing="0">
<tr><td class="WindowHeader">
	<% DrawTitle ("Permissions", "users_edit.aspx?user=" & request("UserName")) %>
</td></tr>
<tr><td class="TableHeader" style="padding: 20px;">

	<table class="MainStyle" width="100%" cellpadding="0" cellspacing="0">
	<tr><td>
		<img src="images/large_Icons_Login.gif" align="left">
	</td><td width="100%">
		&nbsp;&nbsp;&nbsp;<b>Database User:</b> &nbsp;&nbsp;&nbsp; <%= request("UserName") %>
	</td><td align="right">
			<input type="submit" value="Save">
	</td></tr>
	</table>
	<Br>
	
<%

' GET PERMISSSIONS
	Dim pHash as New HashTable
	Dim pString as String = "" 
	dim pObject as String = ""
	dim pCur as String = ""
	dr = d.GetData("Select O.name, P.action, p.ProtectType from sysprotects P, sysObjects O where O.id=P.id and User_Name(P.uid) = '" & Request("UserName") & "' order by Name ASC")
	While dr.read()
		if dr("Name") <> pObject and pObject <> "" then
			pHash.Add (pObject, pString)
			pString = ""
		end if
		
		pObject = dr("Name")
		pCur = ""
		Select Case dr("Action")
			Case 26 : pCur = "*REFERENCES"
			Case 193: pCur = "*SELECT"
			Case 195: pCur = "*INSERT"
			Case 196: pCur = "*DELETE"
			Case 197: pCur = "*UPDATE"
			Case 224: pCur = "*EXECUTE" 
		End Select 
		if dr("ProtectType") = 204 or  dr("ProtectType") = 205
			pString = pString & pCur & "(GRANT)*"
		else
			pString = pString & pCur & "(REVOKE)*"
		end if
	End While
	if pString <> "" then _
		pHash.Add (pObject, pString)

	'for each pCur in pHash.Keys
	'	Response.write (pCur & " " & pHash(pCur) & "<br>")
	'Next

	
		dr = d.getdata("Select User_Name(uid) as UserName, Name, id, xType from sysobjects where  xtype = 'U' or xtype = 'P' or xtype = 'V' order by status")
		
		With Response
			.write ("<center>")
			.write ("<div style='width:100%; height:350; overflow:auto; background: #ffffff; border: 1px solid #000000;'>")
			.write ("<table class=""TableStyle"" cellpadding=""2"" cellspacing=""0"">")
			.write ("<tr><Td class=""TableHeader"" colspan=""2"">")
			.write ("Object")
			.write ("</td><Td class=""TableHeader"">")
			.write ("Owner")
			.write ("</td><td class=""TableHeader"">")
			.write ("SELECT")
			.write ("</td><td class=""TableHeader"">")
			.write ("INSERT")
			.write ("</td><td class=""TableHeader"">")
			.write ("UPDATE")
			.write ("</td><td class=""TableHeader"">")
			.write ("DELETE")
			.write ("</td><td class=""TableHeader"">")
			.write ("EXEC")
			.write ("</td><td class=""TableHeader"" NOWRAP>")
			.write ("&nbsp;DRI&nbsp;")
			.write ("</td></tr>")
			
			
			.write ("<input type=""hidden"" name=""UserName"" value=""" & request("UserName") & """>")
			
			dim dr2 as SQLDataReader
			dim Count as Integer = 0
			While dr.read()
				COunt = Count + 1
			
				.write ("<input type=""hidden"" name=""Type_" & Count & """ value=""" & dr("xType") & """>")
				.write ("<input type=""hidden"" name=""Name_" & Count & """ value=""" & dr("name") & """>")
				.write ("<input type=""hidden"" name=""OwnerName_" & Count & """ value=""" & dr("UserName") & """>")
				.write ("<tr><td class=""TableGrid"">")
				.write ("<img src=""images/")
				Select Case Trim(dr("xType"))
					Case "P": .write ("small_Icons_Stored_Procedur.gif") 
					Case "U": .write ("small_Icons_tables.gif") 
					CAse "V": .write ("small_Icons_views.gif") 
				End Select
				.write (""">")
				.write ("</td><td class=""TableGrid"">")
				.write (dr("Name")) 
				.write ("</td><td class=""TableGrid"">")
				.write (dr("UserName") & "<br>") 
				.write ("</td><td class=""TableGrid"" NOWRAP>")
				
					if Trim(dr("xType")) = "U" or Trim(dr("xType")) = "V" then
						.write ("<table cellpadding=""0"" cellspacing=""0"" style=""color: #CCCCCC"">")
						.write ("<tr><td bgcolor=""#EEFFEE"">")
							.write ("<input type=""radio""  name=""Select_" & Count & """ value=""GRANT""")
								if pHash.ContainsKey(dr("Name")) then
									if InStr(pHash(dr("Name")), "*SELECT(GRANT)*") then 
										.write (" CHECKED ><SMALL><b><font color=""#009900"">GRANT</b</small><br>")
										.write ("<input type=""hidden"" name=""cSELECT_" & Count & """ value=""GRANT"">")
									else
										.write ("><SMALL>GRANT</small><br>")										
									end if
								else
										.write ("><SMALL>GRANT</small><br>")
								end if
						.write ("</td></tr>")	
						.write ("<tr><td bgcolor=""#FFEEEE"">")
							.write ("<input type=""radio""  name=""Select_" & Count & """ value=""DENY""")
								if pHash.ContainsKey(dr("Name")) then
									if InStr(pHash(dr("Name")), "*SELECT(REVOKE)*") then 
										.write (" CHECKED><SMALL><b><font color=""#990000"">DENY</font></b></small><Br> ")
										.write ("<input type=""hidden"" name=""cSELECT_" & Count & """ value=""DENY"">")
									else	
										.write ("><SMALL>DENY</small><Br>")
									end if
								else	
										.write ("><SMALL>DENY</small><Br>")
								end if

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -