.net实现图片权限控制,对不同的帐户加水印
来源:未知 责任编辑:责任编辑 发表时间:2013-11-17 14:40 点击:次
本案列实现不同用户登录有不同的权限,如果是免费用户下载图片则在图片上加上水印,如果是收费用户则不加水印。另外实现登录次数过多自动锁定30分钟功能,防止暴力破解密码。
1.Users数据库表定义如下:
数据字段说明如下:
“id”为主键,在本实例中将案列ID来判断用户名,所以ID会记录到请求的Session中;“username”为用户名,“password”为密码;“level”为用户等级,“ErrorTimes”为错误次数,记录客户登录的次数;“LastTimes”为最后登录的时间,当用户登录次数超过限制后,需等待多久时间才能登录。
2.在VS Studio中添加数据集,并设置以下2个方法:
(1)GetDataById(@id):获取数据库中的id
SELECT ErrorTimes, LastTimes, id, level, password, username FROM Users WHERE (id = @id)
(2) GetDataByUserName(@username):获取数据库中的username
SELECT ErrorTimes, LastTimes, id, level, password, username FROM Users WHERE (username = @username)
(3)incErrorTimesById(@id):获取数据库的id,并设置ErrorTimes次数加1,上次登录时间为当前日期
UPDATE [Users] SET ErrorTimes=ErrorTimes+1,LastTimes=getdate() where id=@id
(4)ResetErrorTimesById(@id):设置当前登录ID的ErrorTimes为0次
UPDATE [Users] SET ErrorTimes=0 where <a href="mailto:id=@id">id=@id</a>
3.Default.aspx为首页,前端HTML代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="图片权限控制._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" Text="用户名:"></asp:Label>
<asp:TextBox ID="UserName" runat="server" Width="176px"></asp:TextBox>
<div>
<asp:Label ID="Label2" runat="server" Text="密码:"></asp:Label>
<asp:TextBox ID="PassWord" runat="server" Height="24px"
style="margin-left: 15px" TextMode="Password" Width="179px"></asp:TextBox>
1.Users数据库表定义如下:
数据字段说明如下:
“id”为主键,在本实例中将案列ID来判断用户名,所以ID会记录到请求的Session中;“username”为用户名,“password”为密码;“level”为用户等级,“ErrorTimes”为错误次数,记录客户登录的次数;“LastTimes”为最后登录的时间,当用户登录次数超过限制后,需等待多久时间才能登录。
2.在VS Studio中添加数据集,并设置以下2个方法:
(1)GetDataById(@id):获取数据库中的id
SELECT ErrorTimes, LastTimes, id, level, password, username FROM Users WHERE (id = @id)
(2) GetDataByUserName(@username):获取数据库中的username
SELECT ErrorTimes, LastTimes, id, level, password, username FROM Users WHERE (username = @username)
(3)incErrorTimesById(@id):获取数据库的id,并设置ErrorTimes次数加1,上次登录时间为当前日期
UPDATE [Users] SET ErrorTimes=ErrorTimes+1,LastTimes=getdate() where id=@id
(4)ResetErrorTimesById(@id):设置当前登录ID的ErrorTimes为0次
UPDATE [Users] SET ErrorTimes=0 where <a href="mailto:id=@id">id=@id</a>
3.Default.aspx为首页,前端HTML代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="图片权限控制._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" Text="用户名:"></asp:Label>
<asp:TextBox ID="UserName" runat="server" Width="176px"></asp:TextBox>
<div>
<asp:Label ID="Label2" runat="server" Text="密码:"></asp:Label>
<asp:TextBox ID="PassWord" runat="server" Height="24px"
style="margin-left: 15px" TextMode="Password" Width="179px"></asp:TextBox>
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>