📄 users_permissions.aspx
字号:
<!--#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%">
<b>Database User:</b> <%= 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 (" DRI ")
.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 + -