ASP.NET 노트 의 갤러리 권한 설정 방법
참고 할 만하 다 SQL Server 2008 R2:error 26 원 격 연결 열기 상세 설명2.이 인 스 턴 스 는 사용자 이름과 비밀 번 호 를 입력 하여 이 사용자 가 일반 사용자 인지 유 료 사용자 인지 판단 한 다음 에 다운로드 이미지 목록 에 들 어 가 는 것 입 니 다.사용자 가 다운 로드 를 클릭 하지 않 으 면 점프 페이지 로 이동 하 는 알림 입 니 다.일반 사용자 가 사진 을 다운로드 하 는 것 은 워 터 마크 가 있 습 니 다.
그림 을 사용 해 보고 유 료 사용자 가 그림 을 다운로드 하 는 것 은 원본 그림 이다.로그 인 할 때 오류 로그 인 횟수 제한 과 로그 인 시도 시간 간격 을 설정 합 니 다.
이 과정 은 데이터 시트 와 데이터 세트 를 만들어 야 합 니 다.DAl 폴 더 를 만들어 서 저장 하고 데이터 세트 는 APP 에 저장 해 야 합 니 다.Date 폴 더 에서 데이터 의 안전성 을 확보 합 니 다.
데이터 시트 작성 은 다음 과 같 습 니 다.
데이터베이스 문 구 는 다음 과 같다.
SELECT ID, sUserName, sPassword, iLevel, sErrorTime, sLastErrorTime FROM T_userInfo
SELECT ID, iLevel, sErrorTime, sLastErrorTime, sPassword, sUserName FROM T_userInfo WHERE (ID = @ID)
SELECT ID, iLevel, sErrorTime, sLastErrorTime, sPassword, sUserName FROM T_userInfo WHERE (sUserName = @sUserName)
UPDATE T_userInfo Set sErrorTime=IsNULL(sErrorTime,0)+1,sLastErrorTime=getdate() where ID=@ID
UPDATE T_userInfo Set sErrorTime=0 where ID=@ID
로그 인 페이지:login.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="login.aspx.cs" Inherits=" .login" %>
<!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">
<div>
</div>
<asp:Label ID="Label1" runat="server" Text=" :"></asp:Label>
<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
<asp:Label ID="lablwarn" runat="server" BackColor="#FF3300"
BorderColor="#FF3300" Visible="False"></asp:Label>
<br />
<asp:Label ID="Label2" runat="server" Text=" : "></asp:Label>
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password" ></asp:TextBox>
<br />
<br />
<asp:Button ID="btnLogin" runat="server" onclick="btnLogin_Click" Text=" " />
</form>
</body>
</html>
로그 인 페이지:login.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using .DAL.DataSetPicTableAdapters;
namespace
{
public partial class login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnLogin_Click(object sender, EventArgs e)
{
T_userInfoTableAdapter adapter = new T_userInfoTableAdapter();
var data = adapter.GetDataByUserName(txtUserName.Text);
if (data.Count <= 0)
{
lablwarn.Text = " ";
lablwarn.Visible = true;
}
else {
//LinQ single ,
// 0 , ,
var user = data.Single();
//
//
if (!user.IssErrorTimeNull() && !user.IssLastErrorTimeNull()) {
double time = (DateTime.Now - user.sLastErrorTime).TotalMinutes;
if (time <= 30 && user.sErrorTime > 5)
{
lablwarn.Text = " , 30 ";
lablwarn.Visible = true;
return;
}
}
if (user.sPassword == txtPassword.Text)
{
Session[" "] = true;
Session[" ID"] = user.ID;
lablwarn.Text = " , ";
lablwarn.Visible = true;
//
adapter.ResertTimeById(user.ID);
Context.Response.Redirect("Pic_list.htm");
// Redirect
}
else {
adapter.IncErrorTimeById(user.ID);
lablwarn.Text = " , ";
lablwarn.Visible = true;
}
}
}
}
}
/* : SQL Server 。
* 。 SQL Server 。
* (provider: SQL Network Interfaces, error: 26 - / )
*
* :
*/
다운로드 목록 페이지:Piclist.htm이미지 1그림 2그림 3
다운로드 목록 페이지:Picdownload.ashxusing System.Linq;using System.Web;그림 다운로드.DAL.DATASetPicTableAdapters 사용 하기;using System.Web.SessionState;using System.Drawing;
namespace 그림 다운로드{ ///
public void ProcessRequest(HttpContext context) { if(context.session["로그 인 여부"]=null) { context.Response.Redirect("Target.htm"); } else { string fileName = context.Request["fileName"];
//신문지상 context.Response.ContentType="image/JPEG"; string newFileName = HttpUtility.UrlEncode(fileName); context.Response.AddHeader("Content-Disposition", "attachment:filename=" + newFileName);
//ID 로 데이터 가 져 오기 int user_id=(int)context.ession["로그 인 한 ID"]; T_userInfoTableAdapter adapter = new T_userInfoTableAdapter(); var data = adapter.GetDataById(user_id); var user = data.Single();
if(user.iLevel==0)//일반 사용자 { using (System.Drawing.Bitmap bitImage = new System.Drawing.Bitmap("image/" + fileName)) { //캔버스 를 설치 하 다 using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitImage)) { g.drawString("무료 사용자 시용―"+user.sUserName,new System.drawing.Font("송 체",20),Brushes.Red,0,0); } //출력 스 트림 에 저장 bitImage.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
} } 유 료 사용자 { context.Response.WriteFile("image/"+fileName); } } }
public bool IsReusable { get { return false; } } }}페이지 이동:Target.htm
<!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>
<title> </title>
</head>
<body>
, 5 ,
, <a href="login.aspx"> </a>
<br/> <div id="leftDiv"></div>
</body>
</html>
<script type="text/javascript">
var leftSecond = 5;
setInterval(function () {
if (leftSecond <= 0) {
window.location.href = "login.aspx";
}
document.getElementById("leftDiv").innerHTML = leftSecond;
leftSecond--;
}, 1000)
</script>
요약:(1.가장 큰 문 제 는 데이터베이스 원 격 연결 문제 에 부 딪 혔 다 는 것 입 니 다.그러나 이 해 를 통 해 알 수 있 듯 이 SQL server 2008 은 기본 적 인 지원 이 아니 라 설정 이 필요 합 니 다.구체 적 인 절차:SQL Server 2008 R2:error 26 원 격 연결 을 여 는 상세 한 출처 참조:SQL Server 2008 R2:error 26 원 격 연결 열기 상세 설명(2.context.Request 등 은 IRequiresSession State 인 터 페 이 스 를 분석 해 야 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ASP.NET 노트 의 갤러리 권한 설정 방법참고 할 만하 다 2.이 인 스 턴 스 는 사용자 이름과 비밀 번 호 를 입력 하여 이 사용자 가 일반 사용자 인지 유 료 사용자 인지 판단 한 다음 에 다운로드 이미지 목록 에 들 어 가 는 것 입 니 다.사용자...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.