ASP.NET MVC - Login 会员登入与权限控管
这堂课我会学到
-
透过网页程式都有的「状态管理」的Session与Cookie做出「会员登入与权限控管」的机制。
-
学会DLL类别库专案的作法,把共用的程式抽离出来。
-
几种网路攻击与防范之道,例如:资料隐码攻击(SQL Injection)、跨网站脚本攻击(XSS)、跨网站冒名请求(CSRF)。
-
透过杂凑运算将机密资讯打乱。
-
会员注册以后,透过E-Mail在测确认身份,避免由幽灵帐号大量注册。
课前信息
基础的 OOP(物件导向)程式设计能力,如:类别(class)。建议已完成「ASP.NET MVC 教学 - 由零开始的入门课」的学习。
知道资料库(DataBase)与简单的 T-SQL 指令,如:CRUD。 课程所需软体皆可免费下载。
Visual Studio 2015~2019或后续新版,请下载社群版(Community版)。
建议使用 Windows 作业系统。因为 Visual Studio Code 与 Visual Studio for Mac 与教学画面仍有差异。
SQL Server Express 版(免费)。建议使用 SQL Server 2012(Express版)或后续新版。
本课程属於进阶课程,建议完成「ASP.NET MVC 教学 - 由零开始的入门课」课程后再来学习。
需要撰写网页系统、或对於网页与资料库的开发有兴趣的朋友。
未来的程式设计师 -- 希望将来进入业界写程式,开发网页系统。
曾写过 ASP、ASP.NET(Web Form)、PHP、JSP 的朋友,现在想学习 ASP.NET MVC 5。
课程大纲
-
课程介绍
-
课程介绍短片
-
-
ASP.NET MVC - Login会员登入与权限控管12节05:47:24
-
会员登入与权限控管07:37
-
设计会员登入的资料表21:42
-
基本练习—比对帐号与密码 & 状态管理45:49
-
综合练习—撰写DLL类别库,将共用程式抽离出来29:19
-
观念与解说09:59
-
综合练习—连结资料库 + 状态管理(Session)04:45
-
资讯安全—常见的网路攻击与防范之道35:06
-
综合练习—连结资料库 + 状态管理(Cookie)16:27
-
基本练习 -- FormsAuthentication与[Authorize]08:56
-
综合练习— FormsAuthentication与 [Authorize]01:08:54
-
综合练习—透过杂凑运算,打乱机密资料45:46
-
综合练习—注册成功后,透过E-Mail再次确认身份53:04
-
课程介绍
「会员登入机制」不是只能用套件做
任何商业系统都需要「会员登入与权限控管」的机制,因此不少初学者,或坊间教学只会用微软提供的现成工具或套件,如 ASP.NET Identity 去作会员登入与权限管理,但在这套工具还没出现以前,市面上这么多网站的「会员登入」的机制又是打哪来的呢?如果不用现成套件又要如何去做呢?
本课程将教你多种会员登入的机制,不只是 ASP.NET Web Form 与 MVC 两者都可共用,有很多方法甚至可以沿用到 PHP 、 JSP 等其他网页程式上,学会网页程式共用的技巧,这样的学习才是聪明的投资,不会被绑在某一套程式语法上面,将来在面试、应徵工作时,也越能凸显自己的能力。
资安一百分,防骇一把罩
除了会员登入与管理,本课程也提供几种网路攻击与资讯安全的防范之道。例如:资料隐码攻击(SQL Injection)、跨网站脚本攻击(XSS)、跨网站冒名请求(CSRF)。当你知道别人怎么攻击,才能寻求解法,知道如何防范,真正做到「知己知彼,百战百胜」。
课程中还会分享DLL类别库专案的作法,把共用的程式抽离出来。FormsAuthentication 与MVC的 [Authorize] 互相搭配,也可做到会员登入与控管的功能,不管是WebForm或是MVC都可以使用这方法。
最后更提供两个实用的范例:
第一,以杂凑运算「单向」的打乱机密资讯。
第二,会员注册以后,需要透过E-Mail再次确认身份,避免幽灵帐号大量注册。
让你实力大增
本课程的教法是循序渐进、由浅入深,每一节的进度都比上一节微幅增加,让学员学习起来不会觉得压力太大或是跟不上,还有持续进步的感觉。
主要教学方针则以「实务」与「范例解说」作为目标,不只可以透过大量的实作练习,直接以实战练功,老师更会亲自为学员示范常见的范例,与论坛上经常被人问到的功能。其中的范例与技巧,也都能同时用在 ASP.NET Web Form 与 MVC 上面,一鱼两吃,绝对超值!
课程学习重点
1.会员登入与权限控管
很多初学者以为 ASP.NET MVC 「只能」透过 ASP.NET Identity 这种现成的工具与套件才能作会员登入与权限控管的机制。但事实上,有很多方法都可以做到,而且更简单易懂。
2. 设计会员登入的资料表
任何网页程式与Web Server都支援「状态管理」的特性。 学会这一招,不管是PHP、JSP、传统ASP(Classic ASP)或是ASP.NET(WebForm与MVC)都可以使用。
本课程将会解说:会员登入与管理会用到资料表的哪些栏位。让您自己设计资料表,再来写程式。从头到尾都可以一手包办。
3. 基本练习 -- 比对帐号与密码& 状态管理 (所有网页程式都有的特性)
学会上一节的观念后,暂时"不"连结资料库(DB First),帐号与密码都固定123,这只是一个简单的练习(后续才会有资料库的范例,请慢慢来)。
这个范例主要讲解状态管理(Session)的用法,如何应用在会员登入与权限控管上。简单易懂,一听就会。
4.综合练习—撰写DLL类别库,将共用程式抽离出来
改写上一节的范例,把共用的程式抽离出来,另外写在DLL类别库的专案中。
5.观念与解说
前面的范例,检查会员登入的机制,要写在哪里比较合适? 为什么不再写於/App_Code目录底下?改用DLL档的类别库专案来做?
6. 综合练习 -- 连结资料库 + 状态管理(Session)。 每个人的帐号与密码都要进资料库比对。
结合前面两节的成果,现在您可以做出一个完整的范例,以「范例」为主的教学,加上「逐步延伸」与「经验累积」。
这样的会员登入范例,不管是PHP、JSP、传统ASP(Classic ASP)或是ASP.NET(WebForm与MVC)都可以使用 。
7.资讯安全—常见的网路攻击与 防范之道
完成上面的练习之后,本节将会解释几种网路攻击的模式与防范的方法,包含资料隐码攻击(SQL Injection)、跨网站脚本攻击(XSS)、跨网站冒名请求(CSRF)。知道别人怎么攻击,才能寻求防范之道。
8.综合练习—连结资料库 + 状态管理(Cookie)
改写前面的范例,经过微调就能做到。每一节的进度都比上一节微幅增加,让学员学习起来不会感到太大的压力。
这样的会员登入范例,不管是PHP、JSP、传统ASP(Classic ASP)或是ASP.NET(WebForm与MVC)都可以使用 。
9. 基本练习 -- FormsAuthentication与[Authorize]
FormsAuthentication 的范例与程式码较长,我们先做一个入门的,简短的版本,学会以后,再继续深入下去。
10.综合练习— FormsAuthentication与 [Authorize]
本范例可以同时用在ASP.NET(WebForm与MVC)上面 ,学会一次终身受用!需要搭配Global.asax与Web.Config设定档,一样可以搭配MVC控制器,在动作上方的 [Authorize] 作法。
11.综合练习—透过杂凑运算,打乱机密资料
以单向的方式行杂凑运算(如MD5或SHA1)将会员的机密资料打乱,搭配会员登入的密码检验。本课程以「务实」与「范例解说」两大目标为主,提供您常见的范例与论坛上经常被人问到的功能,为您亲自示范,本范例ASP.NET(WebForm与MVC)皆可使用。
12.综合练习—注册成功后,透过E-Mail再次确认身份
会员第一次注册以后,通常会透过E-Mail再次确认此人身份,避免幽灵帐号的入侵。该怎么做到呢?本课程以「务实」与「范例解说」两大目标为主,提供您常见的范例与论坛上经常被人问到的功能,为您亲自示范,本范例ASP.NET(WebForm与MVC)皆可使用。
课程特色
- 以实作优先:减少理论说明,大量练习范例,讲求从做中学。
- 错误学习法:透过错误的范例从中学习,并找出自己的盲点。
课程讨论与问答
-
要先登入才能做留言
-
苗芬2020-03-03 21:55:41苗芬2020-03-03 21:55:41
不好意思,我有看到老師給的學習建議了! 我已經買課程要學習了,也會準備課程需要的東西,謝謝你
-
MIS2000 Lab.2020-03-03 21:57:43MIS2000 Lab.2020-03-03 21:57:43
有問題都歡迎直接來信跟我討論喔,謝謝您 課程(影片)一開始的投影片,就有我的 E-Mail,歡迎來信 :-)
-
-
苗芬2020-03-03 21:06:35苗芬2020-03-03 21:06:35
你好,請問如果使用mac學習ASP.NET MVC有建議的開發環境跟資料庫嗎? 我的mac裡面有下載ASP.NET Core3.1,請問會影響課程實作嗎? 資料庫的部分呢? 我想要學習網頁Login及MVC入們課,謝謝您
-
MIS2000 Lab.2020-03-03 21:17:43MIS2000 Lab.2020-03-03 21:17:43
課程這一頁的下方就有說明囉,請看「學員上課前需具備哪些軟、硬體設備或常識」 建議安裝Visual Studio (Windows版)才是最完整的, --Visual Studio 2015~2019或後續新版,請下載社群版(Community版)。 --建議使用 Windows 作業系統。因為 Visual Studio Code 與 Visual Studio for Mac 與教學畫面仍有差異。 --SQL Server Express 版(免費)。建議使用 SQL Server 2012(Express版)或後續新版。 謝謝您 :-)
-