18 个解决方案
#1
管理员表多加一个权限字段sex:
0 表示超级管理员
1 A板块管理员
2 b板块管理员
...
login.asp 设置session["sex"]=XXX,
leftTree.asp 每功能模块建一个table,
if(session["sex"]=0)
{
all table.style.display=""
}
else
相应的teble.style.display="none"
0 表示超级管理员
1 A板块管理员
2 b板块管理员
...
login.asp 设置session["sex"]=XXX,
leftTree.asp 每功能模块建一个table,
if(session["sex"]=0)
{
all table.style.display=""
}
else
相应的teble.style.display="none"
#2
跟楼上的补充一点,楼上的思路只是在菜单里不显示出对应的操作项,但是如果别人通过使用输入网址的形式还是可以访问对应的页面,最好还是在每个页面上加上判断的语句,例如:
<%
if session("sex")<>1 then
resposne.write("<script language=javascript>alert('对不起,你没有操作权限!');history.go(-1);</script>")
response.end
end if
%>
依此类推
<%
if session("sex")<>1 then
resposne.write("<script language=javascript>alert('对不起,你没有操作权限!');history.go(-1);</script>")
response.end
end if
%>
依此类推
#3
我这样做的。
管理菜单进行存储,每个子菜单下的所包含的页面也进行存储。
对管理人员进行分组,对组进行权限进行权限的指定(存储)。
在每页有权限与页面检查程序,不仅仅可以检查到是否有菜单的权限,还检查是否有页面访问权限。
比较复杂,但做完了管理起来很方便。
管理菜单进行存储,每个子菜单下的所包含的页面也进行存储。
对管理人员进行分组,对组进行权限进行权限的指定(存储)。
在每页有权限与页面检查程序,不仅仅可以检查到是否有菜单的权限,还检查是否有页面访问权限。
比较复杂,但做完了管理起来很方便。
#4
能不能给个代码参考哈啊!我才学啊!
#5
这里的table怎么划分呢???
#6
就用session判断 即可!
#7
来学习一下。
#8
string userName = this.txtName.Text.Trim();
UserInfo userInfo=UserInfoManager.GetUserInfoByUserName(userName);
if (userInfo == null)
{
ClientScript.RegisterStartupScript(this.GetType(), "", "alert('没有该用户名!');", true);
}
else
{
if (userInfo.UserPass.Equals(this.txtPass.Text.Trim()))
{
ClientScript.RegisterStartupScript(this.GetType(), "", "alert('成功!')", true);
Session["userInfo"] = userInfo;
Response.Redirect("index.aspx");
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "", "alert('用户名或密码输入错误!')", true);
}
}
这个是登陆的,判断是否有该用户名,如果没有提示“没有该用户”,如果有判断密码是否正确,正确保存的session
你要的是权限,跟这个思路差不多,都是判断呢,当当前登录的用户权限为管理员显示所有功能,如果是普通的显示普通功能...
UserInfo userInfo=UserInfoManager.GetUserInfoByUserName(userName);
if (userInfo == null)
{
ClientScript.RegisterStartupScript(this.GetType(), "", "alert('没有该用户名!');", true);
}
else
{
if (userInfo.UserPass.Equals(this.txtPass.Text.Trim()))
{
ClientScript.RegisterStartupScript(this.GetType(), "", "alert('成功!')", true);
Session["userInfo"] = userInfo;
Response.Redirect("index.aspx");
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "", "alert('用户名或密码输入错误!')", true);
}
}
这个是登陆的,判断是否有该用户名,如果没有提示“没有该用户”,如果有判断密码是否正确,正确保存的session
你要的是权限,跟这个思路差不多,都是判断呢,当当前登录的用户权限为管理员显示所有功能,如果是普通的显示普通功能...
#9
发现自己现在很懒,都懒得动手打代码了...我回的是我自己做的思路...呵呵!
#10
这个是asp专栏啊,我以为C#呢,呵呵!!
asp手头就有一个,不过跟你要求的不大一样,不管有没有用都给你了
<%dim username,userpsw,checkcode
username=replace(trim(request("username")),"'","")
userpsw=md5(replace(trim(request("userpsw")),"'",""))
checkcode=replace(trim(request("checkcode")),"'","")
if cstr(session("getcode"))<>cstr(trim(request("checkcode"))) then
response.Write "<script LANGUAGE='javascript'>alert('请输入正确的验证码!');history.go(-1);</script>"
response.end
end if
set rs=server.createobject("adodb.recordset")
sql="select * from Admin where userid='"&username&"' and userpsw='"&userpsw&"' and pass=1"
rs.open sql,conn,1,3
if rs.bof and rs.eof then
response.write "<script LANGUAGE='javascript'>alert('对不起,您的用户名或密码有误! 或者是你的用户名被禁用了!');history.go(-1);</script>"
else
set rs_up=server.CreateObject("adodb.recordset")
rs_up.open "select * from admin where userid='"&username&"'",conn,1,3
rs("gonum")=rs("gonum")+1
rs("goip")=request.ServerVariables("REMOTE_HOST")
Response.Cookies("golfqiuchang")("admin_gonum") = rs("gonum")
Response.Cookies("golfqiuchang")("admin_lasttime") = rs("lasttime")
Response.Cookies("golfqiuchang")("admin_user") = rs("userid")
rs("lasttime")=now()
rs.update
rs.close
set rs=nothing
response.Redirect"index.asp"
end if
%>
asp手头就有一个,不过跟你要求的不大一样,不管有没有用都给你了
<%dim username,userpsw,checkcode
username=replace(trim(request("username")),"'","")
userpsw=md5(replace(trim(request("userpsw")),"'",""))
checkcode=replace(trim(request("checkcode")),"'","")
if cstr(session("getcode"))<>cstr(trim(request("checkcode"))) then
response.Write "<script LANGUAGE='javascript'>alert('请输入正确的验证码!');history.go(-1);</script>"
response.end
end if
set rs=server.createobject("adodb.recordset")
sql="select * from Admin where userid='"&username&"' and userpsw='"&userpsw&"' and pass=1"
rs.open sql,conn,1,3
if rs.bof and rs.eof then
response.write "<script LANGUAGE='javascript'>alert('对不起,您的用户名或密码有误! 或者是你的用户名被禁用了!');history.go(-1);</script>"
else
set rs_up=server.CreateObject("adodb.recordset")
rs_up.open "select * from admin where userid='"&username&"'",conn,1,3
rs("gonum")=rs("gonum")+1
rs("goip")=request.ServerVariables("REMOTE_HOST")
Response.Cookies("golfqiuchang")("admin_gonum") = rs("gonum")
Response.Cookies("golfqiuchang")("admin_lasttime") = rs("lasttime")
Response.Cookies("golfqiuchang")("admin_user") = rs("userid")
rs("lasttime")=now()
rs.update
rs.close
set rs=nothing
response.Redirect"index.asp"
end if
%>
#11
设计权限:楼主是不是想这样
例子:(打个比方)
我后台左边的树为:
+新闻 (显示或者隐藏)
-新闻查看 (显示或者隐藏)
-新闻添加 (显示或者隐藏)
-新闻删除 (显示或者隐藏)
+留言 (显示或者隐藏)
-查看留言 (显示或者隐藏)
-删除留言 (显示或者隐藏)
我们新建个管理员 在新建的时候:右边设置新管理员权限
[]新闻 []新闻查看 []新闻添加 []新闻删除
[]留言 []查看留言 []删除留言
其中[]表示checkbox 或者 radio控件
我们可以通过勾选相应的[]来设置这个管理员的权限
我以前是这样子做的:
在管理员这张表里面有一个权限标识字段 里面存储的是这样的格式 a,b,c,d..........
这里面的a b c d 分别是左边树的每个栏目的唯一标识(是通过上面的勾选checkbox存入数据库的),
那么我们在显示左边树的时候就可以取这个管理员的权限字段 然后判断是否有自己的唯一标识 有的话显示 没的话隐藏
这样的话 左边的权限树就出来了
这是我以前的设计 呵呵 希望对你有帮助。
别见笑。
例子:(打个比方)
我后台左边的树为:
+新闻 (显示或者隐藏)
-新闻查看 (显示或者隐藏)
-新闻添加 (显示或者隐藏)
-新闻删除 (显示或者隐藏)
+留言 (显示或者隐藏)
-查看留言 (显示或者隐藏)
-删除留言 (显示或者隐藏)
我们新建个管理员 在新建的时候:右边设置新管理员权限
[]新闻 []新闻查看 []新闻添加 []新闻删除
[]留言 []查看留言 []删除留言
其中[]表示checkbox 或者 radio控件
我们可以通过勾选相应的[]来设置这个管理员的权限
我以前是这样子做的:
在管理员这张表里面有一个权限标识字段 里面存储的是这样的格式 a,b,c,d..........
这里面的a b c d 分别是左边树的每个栏目的唯一标识(是通过上面的勾选checkbox存入数据库的),
那么我们在显示左边树的时候就可以取这个管理员的权限字段 然后判断是否有自己的唯一标识 有的话显示 没的话隐藏
这样的话 左边的权限树就出来了
这是我以前的设计 呵呵 希望对你有帮助。
别见笑。
#12
学习+顶
#13
我也要后台的,模块怎么划分的,发布模块的cuteeditor编辑怎么实现!!也求解释
#14
看看康盛的代码对你有帮助
#15
你的结贴率好低
'*****************************************************************************************
'函数名:ReturnPowerResult
'作 用:检查操作权限。
'参 数:ChannelID---所在系统(频道)1:新闻管理2:产品管理3:招聘管理4:用户管理5:类型管理6:采集管理7:生静管理8:网站管理9:社区管理
'返回值:允许返回true,否则返回false
'******************************************************************************************
Public Function ReturnPowerResult(ChannelID)
Dim AdminName,AdminRankID,ArticleRankID,ProductRankID,JobRankID,UserRankID,TypeRankID,CollectRankID,HtmlRankID,SystemRankID
AdminName = R(C("AdminName"))
AdminRankID = Application(AdminName & "PowerList")
If AdminName = "" Then
ReturnPowerResult = False
Exit Function
ElseIF AdminRankID = "" Then
ReturnPowerResult = False
Exit Function
ElseIf C("AdminPurview") = "1" Then '超级管理组拥有所有权限
ReturnPowerResult = True
Exit Function
ElseIF Cint(Mid(AdminRankID,ChannelID,1)) = 1 Then
ReturnPowerResult = True
Exit Function
Else
ReturnPowerResult = False
Exit Function
End If
End Function
'*****************************************************************************************
'函数名:ReturnPowerResult
'作 用:检查操作权限。
'参 数:ChannelID---所在系统(频道)1:新闻管理2:产品管理3:招聘管理4:用户管理5:类型管理6:采集管理7:生静管理8:网站管理9:社区管理
'返回值:允许返回true,否则返回false
'******************************************************************************************
Public Function ReturnPowerResult(ChannelID)
Dim AdminName,AdminRankID,ArticleRankID,ProductRankID,JobRankID,UserRankID,TypeRankID,CollectRankID,HtmlRankID,SystemRankID
AdminName = R(C("AdminName"))
AdminRankID = Application(AdminName & "PowerList")
If AdminName = "" Then
ReturnPowerResult = False
Exit Function
ElseIF AdminRankID = "" Then
ReturnPowerResult = False
Exit Function
ElseIf C("AdminPurview") = "1" Then '超级管理组拥有所有权限
ReturnPowerResult = True
Exit Function
ElseIF Cint(Mid(AdminRankID,ChannelID,1)) = 1 Then
ReturnPowerResult = True
Exit Function
Else
ReturnPowerResult = False
Exit Function
End If
End Function
#16
看看代码也是一种享受
#17
谢谢啊,学习了!
#18
在管理员表格中加入一个标记 作为识别权限的
然后在相应的管理项目中查询当前管理员账号的标记
就这么简单。。。
然后在相应的管理项目中查询当前管理员账号的标记
就这么简单。。。
#1
管理员表多加一个权限字段sex:
0 表示超级管理员
1 A板块管理员
2 b板块管理员
...
login.asp 设置session["sex"]=XXX,
leftTree.asp 每功能模块建一个table,
if(session["sex"]=0)
{
all table.style.display=""
}
else
相应的teble.style.display="none"
0 表示超级管理员
1 A板块管理员
2 b板块管理员
...
login.asp 设置session["sex"]=XXX,
leftTree.asp 每功能模块建一个table,
if(session["sex"]=0)
{
all table.style.display=""
}
else
相应的teble.style.display="none"
#2
跟楼上的补充一点,楼上的思路只是在菜单里不显示出对应的操作项,但是如果别人通过使用输入网址的形式还是可以访问对应的页面,最好还是在每个页面上加上判断的语句,例如:
<%
if session("sex")<>1 then
resposne.write("<script language=javascript>alert('对不起,你没有操作权限!');history.go(-1);</script>")
response.end
end if
%>
依此类推
<%
if session("sex")<>1 then
resposne.write("<script language=javascript>alert('对不起,你没有操作权限!');history.go(-1);</script>")
response.end
end if
%>
依此类推
#3
我这样做的。
管理菜单进行存储,每个子菜单下的所包含的页面也进行存储。
对管理人员进行分组,对组进行权限进行权限的指定(存储)。
在每页有权限与页面检查程序,不仅仅可以检查到是否有菜单的权限,还检查是否有页面访问权限。
比较复杂,但做完了管理起来很方便。
管理菜单进行存储,每个子菜单下的所包含的页面也进行存储。
对管理人员进行分组,对组进行权限进行权限的指定(存储)。
在每页有权限与页面检查程序,不仅仅可以检查到是否有菜单的权限,还检查是否有页面访问权限。
比较复杂,但做完了管理起来很方便。
#4
能不能给个代码参考哈啊!我才学啊!
#5
这里的table怎么划分呢???
#6
就用session判断 即可!
#7
来学习一下。
#8
string userName = this.txtName.Text.Trim();
UserInfo userInfo=UserInfoManager.GetUserInfoByUserName(userName);
if (userInfo == null)
{
ClientScript.RegisterStartupScript(this.GetType(), "", "alert('没有该用户名!');", true);
}
else
{
if (userInfo.UserPass.Equals(this.txtPass.Text.Trim()))
{
ClientScript.RegisterStartupScript(this.GetType(), "", "alert('成功!')", true);
Session["userInfo"] = userInfo;
Response.Redirect("index.aspx");
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "", "alert('用户名或密码输入错误!')", true);
}
}
这个是登陆的,判断是否有该用户名,如果没有提示“没有该用户”,如果有判断密码是否正确,正确保存的session
你要的是权限,跟这个思路差不多,都是判断呢,当当前登录的用户权限为管理员显示所有功能,如果是普通的显示普通功能...
UserInfo userInfo=UserInfoManager.GetUserInfoByUserName(userName);
if (userInfo == null)
{
ClientScript.RegisterStartupScript(this.GetType(), "", "alert('没有该用户名!');", true);
}
else
{
if (userInfo.UserPass.Equals(this.txtPass.Text.Trim()))
{
ClientScript.RegisterStartupScript(this.GetType(), "", "alert('成功!')", true);
Session["userInfo"] = userInfo;
Response.Redirect("index.aspx");
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "", "alert('用户名或密码输入错误!')", true);
}
}
这个是登陆的,判断是否有该用户名,如果没有提示“没有该用户”,如果有判断密码是否正确,正确保存的session
你要的是权限,跟这个思路差不多,都是判断呢,当当前登录的用户权限为管理员显示所有功能,如果是普通的显示普通功能...
#9
发现自己现在很懒,都懒得动手打代码了...我回的是我自己做的思路...呵呵!
#10
这个是asp专栏啊,我以为C#呢,呵呵!!
asp手头就有一个,不过跟你要求的不大一样,不管有没有用都给你了
<%dim username,userpsw,checkcode
username=replace(trim(request("username")),"'","")
userpsw=md5(replace(trim(request("userpsw")),"'",""))
checkcode=replace(trim(request("checkcode")),"'","")
if cstr(session("getcode"))<>cstr(trim(request("checkcode"))) then
response.Write "<script LANGUAGE='javascript'>alert('请输入正确的验证码!');history.go(-1);</script>"
response.end
end if
set rs=server.createobject("adodb.recordset")
sql="select * from Admin where userid='"&username&"' and userpsw='"&userpsw&"' and pass=1"
rs.open sql,conn,1,3
if rs.bof and rs.eof then
response.write "<script LANGUAGE='javascript'>alert('对不起,您的用户名或密码有误! 或者是你的用户名被禁用了!');history.go(-1);</script>"
else
set rs_up=server.CreateObject("adodb.recordset")
rs_up.open "select * from admin where userid='"&username&"'",conn,1,3
rs("gonum")=rs("gonum")+1
rs("goip")=request.ServerVariables("REMOTE_HOST")
Response.Cookies("golfqiuchang")("admin_gonum") = rs("gonum")
Response.Cookies("golfqiuchang")("admin_lasttime") = rs("lasttime")
Response.Cookies("golfqiuchang")("admin_user") = rs("userid")
rs("lasttime")=now()
rs.update
rs.close
set rs=nothing
response.Redirect"index.asp"
end if
%>
asp手头就有一个,不过跟你要求的不大一样,不管有没有用都给你了
<%dim username,userpsw,checkcode
username=replace(trim(request("username")),"'","")
userpsw=md5(replace(trim(request("userpsw")),"'",""))
checkcode=replace(trim(request("checkcode")),"'","")
if cstr(session("getcode"))<>cstr(trim(request("checkcode"))) then
response.Write "<script LANGUAGE='javascript'>alert('请输入正确的验证码!');history.go(-1);</script>"
response.end
end if
set rs=server.createobject("adodb.recordset")
sql="select * from Admin where userid='"&username&"' and userpsw='"&userpsw&"' and pass=1"
rs.open sql,conn,1,3
if rs.bof and rs.eof then
response.write "<script LANGUAGE='javascript'>alert('对不起,您的用户名或密码有误! 或者是你的用户名被禁用了!');history.go(-1);</script>"
else
set rs_up=server.CreateObject("adodb.recordset")
rs_up.open "select * from admin where userid='"&username&"'",conn,1,3
rs("gonum")=rs("gonum")+1
rs("goip")=request.ServerVariables("REMOTE_HOST")
Response.Cookies("golfqiuchang")("admin_gonum") = rs("gonum")
Response.Cookies("golfqiuchang")("admin_lasttime") = rs("lasttime")
Response.Cookies("golfqiuchang")("admin_user") = rs("userid")
rs("lasttime")=now()
rs.update
rs.close
set rs=nothing
response.Redirect"index.asp"
end if
%>
#11
设计权限:楼主是不是想这样
例子:(打个比方)
我后台左边的树为:
+新闻 (显示或者隐藏)
-新闻查看 (显示或者隐藏)
-新闻添加 (显示或者隐藏)
-新闻删除 (显示或者隐藏)
+留言 (显示或者隐藏)
-查看留言 (显示或者隐藏)
-删除留言 (显示或者隐藏)
我们新建个管理员 在新建的时候:右边设置新管理员权限
[]新闻 []新闻查看 []新闻添加 []新闻删除
[]留言 []查看留言 []删除留言
其中[]表示checkbox 或者 radio控件
我们可以通过勾选相应的[]来设置这个管理员的权限
我以前是这样子做的:
在管理员这张表里面有一个权限标识字段 里面存储的是这样的格式 a,b,c,d..........
这里面的a b c d 分别是左边树的每个栏目的唯一标识(是通过上面的勾选checkbox存入数据库的),
那么我们在显示左边树的时候就可以取这个管理员的权限字段 然后判断是否有自己的唯一标识 有的话显示 没的话隐藏
这样的话 左边的权限树就出来了
这是我以前的设计 呵呵 希望对你有帮助。
别见笑。
例子:(打个比方)
我后台左边的树为:
+新闻 (显示或者隐藏)
-新闻查看 (显示或者隐藏)
-新闻添加 (显示或者隐藏)
-新闻删除 (显示或者隐藏)
+留言 (显示或者隐藏)
-查看留言 (显示或者隐藏)
-删除留言 (显示或者隐藏)
我们新建个管理员 在新建的时候:右边设置新管理员权限
[]新闻 []新闻查看 []新闻添加 []新闻删除
[]留言 []查看留言 []删除留言
其中[]表示checkbox 或者 radio控件
我们可以通过勾选相应的[]来设置这个管理员的权限
我以前是这样子做的:
在管理员这张表里面有一个权限标识字段 里面存储的是这样的格式 a,b,c,d..........
这里面的a b c d 分别是左边树的每个栏目的唯一标识(是通过上面的勾选checkbox存入数据库的),
那么我们在显示左边树的时候就可以取这个管理员的权限字段 然后判断是否有自己的唯一标识 有的话显示 没的话隐藏
这样的话 左边的权限树就出来了
这是我以前的设计 呵呵 希望对你有帮助。
别见笑。
#12
学习+顶
#13
我也要后台的,模块怎么划分的,发布模块的cuteeditor编辑怎么实现!!也求解释
#14
看看康盛的代码对你有帮助
#15
你的结贴率好低
'*****************************************************************************************
'函数名:ReturnPowerResult
'作 用:检查操作权限。
'参 数:ChannelID---所在系统(频道)1:新闻管理2:产品管理3:招聘管理4:用户管理5:类型管理6:采集管理7:生静管理8:网站管理9:社区管理
'返回值:允许返回true,否则返回false
'******************************************************************************************
Public Function ReturnPowerResult(ChannelID)
Dim AdminName,AdminRankID,ArticleRankID,ProductRankID,JobRankID,UserRankID,TypeRankID,CollectRankID,HtmlRankID,SystemRankID
AdminName = R(C("AdminName"))
AdminRankID = Application(AdminName & "PowerList")
If AdminName = "" Then
ReturnPowerResult = False
Exit Function
ElseIF AdminRankID = "" Then
ReturnPowerResult = False
Exit Function
ElseIf C("AdminPurview") = "1" Then '超级管理组拥有所有权限
ReturnPowerResult = True
Exit Function
ElseIF Cint(Mid(AdminRankID,ChannelID,1)) = 1 Then
ReturnPowerResult = True
Exit Function
Else
ReturnPowerResult = False
Exit Function
End If
End Function
'*****************************************************************************************
'函数名:ReturnPowerResult
'作 用:检查操作权限。
'参 数:ChannelID---所在系统(频道)1:新闻管理2:产品管理3:招聘管理4:用户管理5:类型管理6:采集管理7:生静管理8:网站管理9:社区管理
'返回值:允许返回true,否则返回false
'******************************************************************************************
Public Function ReturnPowerResult(ChannelID)
Dim AdminName,AdminRankID,ArticleRankID,ProductRankID,JobRankID,UserRankID,TypeRankID,CollectRankID,HtmlRankID,SystemRankID
AdminName = R(C("AdminName"))
AdminRankID = Application(AdminName & "PowerList")
If AdminName = "" Then
ReturnPowerResult = False
Exit Function
ElseIF AdminRankID = "" Then
ReturnPowerResult = False
Exit Function
ElseIf C("AdminPurview") = "1" Then '超级管理组拥有所有权限
ReturnPowerResult = True
Exit Function
ElseIF Cint(Mid(AdminRankID,ChannelID,1)) = 1 Then
ReturnPowerResult = True
Exit Function
Else
ReturnPowerResult = False
Exit Function
End If
End Function
#16
看看代码也是一种享受
#17
谢谢啊,学习了!
#18
在管理员表格中加入一个标记 作为识别权限的
然后在相应的管理项目中查询当前管理员账号的标记
就这么简单。。。
然后在相应的管理项目中查询当前管理员账号的标记
就这么简单。。。