光脚丫学ASP.NET MVC(0004):在ASP.NET MVC中使用Forms身份验证

news/2024/7/4 1:32:00 标签: asp.net, mvc, forms, class, 扩展, qq
class="baidu_pl">
class="article_content clearfix">
class="htmledit_views">

光脚丫思考  QQ:524130780

邮箱:524130780@QQ.COM

博客:http://blog.csdn.net/GJYSK

视频演示01:http://u.115.com/file/bh0bm9qx
视频演示02:http://u.115.com/file/dn9uh7g6
视频演示03:http://u.115.com/file/bh0vdp7w

通过为操作方法添加HttpPostAttribute特性,可以使操作方法只处理POST类型的请求。

Controller.View():通过此方法可以创建一个响应的是视图结果,此函数有多个重载函数。
关于View()方法呈现那个视图页,有下面的两个原则:
1、如果没有通过函数参数的方式明确为View()指定要呈现的视图页,则呈现与操作方法名相同的视图页。前提当然是要有这个视图页,否则的话,将会发生错误。
2、如果指定了要呈现的视图页的名字(不包括文件扩展名),则呈现指定视图页。

Controller.RedirectToAction():使用操作名称和控制器名称重定向到指定的操作。
每一个操作方法未必需要一个对应的视图页。如下面的代码:

class="language-csharp">public ActionResult LogOff()
{
    FormsService.SignOut();

    return RedirectToAction("Index", "Home");
}


上面的LogOff操作方法就没有一个与之对应的LogOff.aspx视图页,
因为当操作方法执行完毕之后,它就已经重定向到Home控制器的Index()操作方法中了。
至于最后到底呈现那个视图页,则是由Index()操作方法来确定的。

可以通过ViewData属性在操作方法和视图页之间传递数据。
可以创建各种各样的模型作为操作方法的参数类型,
当然,如果你不想创建,那也可以通过为操作方法指定一大堆的参数来替代之。
而是用模型的办法等于是把这些参数给封装到了一起,
这样一来操作方法的参数列表就显得简洁了一些。

一般情况下,如果需要用户从页面提交数据的话,
则至少应该创建两个同名的重载操作方法,
通常一个不带任何参数,一个带有若干参数。

视图页分两种:强类型视图页弱类型视图页
弱类型视图页一般继承自:System.Web.Mvc.ViewPage
强类型视图页则继承自:System.Web.Mvc.ViewPage<TModel>

通过使用AuthorizeAttribute特性限制用户的访问。
此特性可以作用于控制器类,也可以作用于控制器的操作方法。
包括如下的限制功能:
1、限制未经身份验证的用户访问。
2、只允许指定的用户访问。Users
3、只允许指定的角色访问。Roles

下面的代码演示如何限制非登录用户的访问Home\About.aspx视图页。

class="language-csharp">public class HomeController : Controller
{
    [Authorize]
    public ActionResult About()
    {
        return View();
    }
}


 


http://www.niftyadmin.cn/n/1704086.html

相关文章

Java后端--54--搜索框架ElasticSearch7.10讲解(五)

九、ElasticSerach高级搜索 9.1、索引别名的使用 在开发中,随着业务需求的迭代,较老的业务逻辑就要面临更新甚至是重构,而对于es来说,为了适应新的业务逻辑,可能就要对原有的索引做一些修改,比如对某些字段做调整,甚至是重建索引。而做这些操作的时候,可能会对业务造…

从源码看kubernetes与CNI Plugin的集成

更多关于kubernetes的深入文章&#xff0c;请看我csdn或者oschina的博客主页。 libcni cni项目提供了golang写的一个library&#xff0c;定义了集成cni插件的应用需调用的cni plugin接口,它就是libcni。其对应的Interface定义如下&#xff1a; libcni/api.go:51type CNI int…

uniapp 常用提示弹框整理

一. 加载提示弹框 在执行数据查询、页面数据渲染等过程中弹出提示。以页面渲染为例&#xff1a; //前端数据请求时&#xff0c;显示加载提示弹框 uni.showLoading({title: 加载中... }); // 数据从后端接口返回后&#xff0c;提示弹框关闭 uni.hideLoading();效果如下&#x…

光脚丫学ASP.NET MVC(0005):控制器概述

光脚丫思考 QQ&#xff1a;524130780 邮箱&#xff1a;524130780QQ.COM 博客&#xff1a;http://blog.csdn.net/GJYSK视频演示&#xff1a;http://u.115.com/file/aqa2gu2cASP.NET MVC框架可直接将URL映射给控制器。控制器执行如下四大任务&#xff1a;1、处理传入的请求。2、…

(笔试题)删除K位数字

题目: 现有一个 n 位数&#xff0c;你需要删除其中的 k 位&#xff0c;请问如何删除才能使得剩下的数最大&#xff1f; 比如当数为 2319274&#xff0c; k1 时&#xff0c;删去 2 变成 319274 后是可能的最大值。 思路&#xff1a; 1、贪心算法 每次从高位向低位数&#xff0c;…

Controlling Access to the Kubernetes API

更多关于kubernetes的深入文章&#xff0c;请看我csdn或者oschina的博客主页。 API Server Ports and IPs By default the Kubernetes API server serves HTTP on 2 ports: Localhost Port: is intended for testing and bootstrap, and for other components of the master no…

Java后端--55--Springboot整合ElasticSearch7.10搜索框架

前言 前面我们也讲了ElasticSearch7.10的安装与使用了,ElasticSearch7.10是目前最新的版本,本文将讲解Springboot整合ElasticSearch7.10 一、导入pom依赖与修改配置 pom.xml中导入对Springdata依赖: <!-- 整合ElasticSearch --> <dependency><groupId>…

HTTP Keep-Alive详解[转]

HTTP是一个请求<->响应模式的典型范例&#xff0c;即客户端向服务器发送一个请求信息&#xff0c;服务器来响应这个信息。在老的HTTP版本中&#xff0c;每个请求都将被创建一个新的客户端->服务器的连接&#xff0c;在这个连接上发送请求&#xff0c;然后接收请求。这…