Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
开发团队
MVC5博客系统
提交
6817422b
MVC5博客系统
项目概览
开发团队
/
MVC5博客系统
通知
3
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
MVC5博客系统
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
6817422b
编写于
5月 20, 2022
作者:
W
weichunjie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
添加工具类
上级
d53eb8d2
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
145 addition
and
7 deletion
+145
-7
Blog.Common/Blog.Common.csproj
Blog.Common/Blog.Common.csproj
+4
-4
Blog.Common/Consts/Constr.cs
Blog.Common/Consts/Constr.cs
+12
-0
Blog.Common/Utils/CaptchaUtils.cs
Blog.Common/Utils/CaptchaUtils.cs
+112
-0
Blog.Web/App_Start/AuthorizeFilter.cs
Blog.Web/App_Start/AuthorizeFilter.cs
+9
-2
Blog.Web/App_Start/RouteConfig.cs
Blog.Web/App_Start/RouteConfig.cs
+5
-1
Blog.Web/Controllers/MangerController.cs
Blog.Web/Controllers/MangerController.cs
+3
-0
未找到文件。
Blog.Common/Blog.Common.csproj
浏览文件 @
6817422b
...
@@ -33,6 +33,7 @@
...
@@ -33,6 +33,7 @@
<ItemGroup>
<ItemGroup>
<Reference
Include=
"System"
/>
<Reference
Include=
"System"
/>
<Reference
Include=
"System.Core"
/>
<Reference
Include=
"System.Core"
/>
<Reference
Include=
"System.Drawing"
/>
<Reference
Include=
"System.Xml.Linq"
/>
<Reference
Include=
"System.Xml.Linq"
/>
<Reference
Include=
"System.Data.DataSetExtensions"
/>
<Reference
Include=
"System.Data.DataSetExtensions"
/>
<Reference
Include=
"Microsoft.CSharp"
/>
<Reference
Include=
"Microsoft.CSharp"
/>
...
@@ -42,11 +43,10 @@
...
@@ -42,11 +43,10 @@
</ItemGroup>
</ItemGroup>
<ItemGroup>
<ItemGroup>
<Compile
Include=
"Class1.cs"
/>
<Compile
Include=
"Class1.cs"
/>
<Compile
Include=
"Consts\Constr.cs"
/>
<Compile
Include=
"Properties\AssemblyInfo.cs"
/>
<Compile
Include=
"Properties\AssemblyInfo.cs"
/>
<Compile
Include=
"Utils\CaptchaUtils.cs"
/>
</ItemGroup>
</ItemGroup>
<ItemGroup>
<ItemGroup
/>
<Folder
Include=
"Constants\"
/>
<Folder
Include=
"Utils\"
/>
</ItemGroup>
<Import
Project=
"$(MSBuildToolsPath)\Microsoft.CSharp.targets"
/>
<Import
Project=
"$(MSBuildToolsPath)\Microsoft.CSharp.targets"
/>
</Project>
</Project>
\ No newline at end of file
Blog.Common/Consts/Constr.cs
0 → 100644
浏览文件 @
6817422b
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
Blog.Common.Consts
{
public
class
Constr
{
}
}
Blog.Common/Utils/CaptchaUtils.cs
0 → 100644
浏览文件 @
6817422b
using
System
;
using
System.Collections.Generic
;
using
System.Drawing
;
using
System.Drawing.Drawing2D
;
using
System.Drawing.Imaging
;
using
System.IO
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
Blog.Common.Utils
{
public
class
CaptchaUtils
{
/// <summary>
/// 创建验证码的图片
/// </summary>
public
static
byte
[]
CreateValidateGraphic
(
string
validateCode
)
{
Bitmap
image
=
new
Bitmap
((
int
)
Math
.
Ceiling
(
validateCode
.
Length
*
16.0
),
27
);
Graphics
g
=
Graphics
.
FromImage
(
image
);
try
{
//生成随机生成器
Random
random
=
new
Random
();
//清空图片背景色
g
.
Clear
(
Color
.
White
);
//画图片的干扰线
for
(
int
i
=
0
;
i
<
25
;
i
++)
{
int
x1
=
random
.
Next
(
image
.
Width
);
int
x2
=
random
.
Next
(
image
.
Width
);
int
y1
=
random
.
Next
(
image
.
Height
);
int
y2
=
random
.
Next
(
image
.
Height
);
g
.
DrawLine
(
new
Pen
(
Color
.
Silver
),
x1
,
y1
,
x2
,
y2
);
}
Font
font
=
new
Font
(
"Arial"
,
13
,
(
FontStyle
.
Bold
|
FontStyle
.
Italic
));
LinearGradientBrush
brush
=
new
LinearGradientBrush
(
new
Rectangle
(
0
,
0
,
image
.
Width
,
image
.
Height
),
Color
.
Blue
,
Color
.
DarkRed
,
1.2f
,
true
);
g
.
DrawString
(
validateCode
,
font
,
brush
,
3
,
2
);
//画图片的前景干扰点
for
(
int
i
=
0
;
i
<
100
;
i
++)
{
int
x
=
random
.
Next
(
image
.
Width
);
int
y
=
random
.
Next
(
image
.
Height
);
image
.
SetPixel
(
x
,
y
,
Color
.
FromArgb
(
random
.
Next
()));
}
//画图片的边框线
g
.
DrawRectangle
(
new
Pen
(
Color
.
Silver
),
0
,
0
,
image
.
Width
-
1
,
image
.
Height
-
1
);
//保存图片数据
MemoryStream
stream
=
new
MemoryStream
();
image
.
Save
(
stream
,
ImageFormat
.
Jpeg
);
//输出图片流
return
stream
.
ToArray
();
}
finally
{
g
.
Dispose
();
image
.
Dispose
();
}
}
private
static
byte
[]
CreateImage
(
string
checkCode
)
{
int
iwidth
=
(
int
)(
checkCode
.
Length
*
12
);
System
.
Drawing
.
Bitmap
image
=
new
System
.
Drawing
.
Bitmap
(
iwidth
,
20
);
Graphics
g
=
Graphics
.
FromImage
(
image
);
Font
f
=
new
System
.
Drawing
.
Font
(
"Arial"
,
10
,
System
.
Drawing
.
FontStyle
.
Bold
);
Brush
b
=
new
System
.
Drawing
.
SolidBrush
(
Color
.
White
);
g
.
Clear
(
Color
.
Blue
);
g
.
DrawString
(
checkCode
,
f
,
b
,
3
,
3
);
Pen
blackPen
=
new
Pen
(
Color
.
Black
,
0
);
Random
rand
=
new
Random
();
for
(
int
i
=
0
;
i
<
5
;
i
++)
{
int
x1
=
rand
.
Next
(
image
.
Width
);
int
x2
=
rand
.
Next
(
image
.
Width
);
int
y1
=
rand
.
Next
(
image
.
Height
);
int
y2
=
rand
.
Next
(
image
.
Height
);
g
.
DrawLine
(
new
Pen
(
Color
.
Silver
,
1
),
x1
,
y1
,
x2
,
y2
);
}
System
.
IO
.
MemoryStream
ms
=
new
System
.
IO
.
MemoryStream
();
image
.
Save
(
ms
,
System
.
Drawing
.
Imaging
.
ImageFormat
.
Jpeg
);
return
ms
.
ToArray
();
}
public
static
string
CreateRandomCode
(
int
codeCount
)
{
string
allChar
=
"0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,W,X,Y,Z"
;
string
[]
allCharArray
=
allChar
.
Split
(
','
);
string
randomCode
=
""
;
int
temp
=
-
1
;
Random
rand
=
new
Random
();
for
(
int
i
=
0
;
i
<
codeCount
;
i
++)
{
if
(
temp
!=
-
1
)
{
rand
=
new
Random
(
i
*
temp
*
((
int
)
DateTime
.
Now
.
Ticks
));
}
int
t
=
rand
.
Next
(
35
);
if
(
temp
==
t
)
{
return
CreateRandomCode
(
codeCount
);
}
temp
=
t
;
randomCode
+=
allCharArray
[
t
];
}
return
randomCode
;
}
}
}
Blog.Web/App_Start/AuthorizeFilter.cs
浏览文件 @
6817422b
...
@@ -15,11 +15,18 @@ namespace Blog.Web.App_Start
...
@@ -15,11 +15,18 @@ namespace Blog.Web.App_Start
{
{
return
;
return
;
}
}
if
(
filterContext
.
HttpContext
.
Session
[
"user"
]
==
null
)
if
(
filterContext
.
HttpContext
.
Session
[
"user"
]
==
null
)
{
{
filterContext
.
HttpContext
.
Response
.
Redirect
(
"/gl/"
);
filterContext
.
HttpContext
.
Response
.
Redirect
(
"/gl"
);
return
;
}
}
base
.
OnAuthorization
(
filterContext
);
}
protected
override
void
HandleUnauthorizedRequest
(
AuthorizationContext
filterContext
)
{
filterContext
.
Result
=
new
RedirectResult
(
"~/gl"
);
}
}
}
}
}
}
\ No newline at end of file
Blog.Web/App_Start/RouteConfig.cs
浏览文件 @
6817422b
...
@@ -13,7 +13,11 @@ namespace Blog.Web
...
@@ -13,7 +13,11 @@ namespace Blog.Web
{
{
routes
.
IgnoreRoute
(
"{resource}.axd/{*pathInfo}"
);
routes
.
IgnoreRoute
(
"{resource}.axd/{*pathInfo}"
);
routes
.
MapRoute
(
name
:
"Article"
,
url
:
"Article/{action}/{id}"
,
defaults
:
new
{
controller
=
"Article"
,
action
=
"Index"
,
id
=
UrlParameter
.
Optional
}
);
routes
.
MapRoute
(
routes
.
MapRoute
(
name
:
"gl"
,
name
:
"gl"
,
url
:
"gl/{action}/{id}"
,
url
:
"gl/{action}/{id}"
,
...
...
Blog.Web/Controllers/MangerController.cs
浏览文件 @
6817422b
...
@@ -8,10 +8,13 @@ namespace Blog.Web.Controllers
...
@@ -8,10 +8,13 @@ namespace Blog.Web.Controllers
{
{
public
class
MangerController
:
Controller
public
class
MangerController
:
Controller
{
{
[
AllowAnonymous
]
// GET: Manger
// GET: Manger
public
ActionResult
Index
()
public
ActionResult
Index
()
{
{
return
View
();
return
View
();
}
}
}
}
}
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录