.net C#,保护每种方法的最佳实践是什么?

2024-03-23

我有一个 Web 项目,其中有一个处理一些数据操作的业务层。我想通过检查是否存在活动的未结束有效来保护某些或所有方法Session在执行该方法之前。

我首先想到使用Attribute上课了,但我无法正确运行它。由于该类是一个普通类并且不是派生自System.Web.Page。当调用所需的 BL 实例时,属性类永远不会运行。此外,某些方法可能不需要有效的会话,因此整个类可能不需要完整的安全性。而且,在方法的每个开头添加一行来检查会话听起来不太有希望。

如果你问我为什么需要通过方法来保护,我可以这样解释:

  • 这是一个网络项目
  • 人们可能会从填充开始,但在那一刻从未保存过
  • 假设该屏幕等待大约 30 分钟
  • 会议已经结束
  • 用户回到计算机前,然后单击SAVE按钮,但过程不应完成

保存操作可以很容易地成为DELETE操作或SELECT.

由于表格和内容有很多类型,我有BL.ItemManager, BL.VideoManager, BL.ServiceManager等等...所以,这些类中有很多保存、删除和选择方法。

因此,有没有一种巧妙的方法通过在运行进程之前检查会话来保护某些方法


您可以使用面向方面的方法;后锐利 http://www.sharpcrafters.com/可能是一个选择。

您所需要做的就是使用 PostSharp 创建一个属性,在方法调用之前注入代码以检查会话是否处于活动状态。就像是;

[SessionAlive]
public void SomeMethod()

或者你可以使用Session_EndGlobal.asax 文件中的方法,或者您可以使用一些 javascript 代码来强制重定向到登录页面 https://stackoverflow.com/questions/391784/asp-net-session-expiry-redirect-to-login-page.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.net C#,保护每种方法的最佳实践是什么? 的相关文章

  • BASIC 中的 C 语言中的 PeekInt、PokeInt、Peek、Poke 等效项

    我想知道该命令的等效项是什么Peek and Poke 基本和其他变体 用 C 语言 类似PeekInt PokeInt 整数 涉及内存条的东西 我知道在 C 语言中有很多方法可以做到这一点 我正在尝试将基本程序移植到 C 语言 这只是使用
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • free 和 malloc 在 C 中如何工作?

    我试图弄清楚如果我尝试 从中间 释放指针会发生什么 例如 看下面的代码 char ptr char malloc 10 sizeof char for char i 0 i lt 10 i ptr i i 10 ptr ptr ptr pt
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • 有没有办法使用 ASP.NET 在用户离开页面时始终运行某些服务器端代码?

    我想知道当用户离开 ASP NET 中的页面时是否有任何方法可以始终运行一些服务器端代码 页面卸载事件不好 因为如果有人单击链接 则不会调用该事件 理想情况下 即使用户关闭浏览器 我也希望代码能够运行 我怀疑我所问的问题是不可能的 但问一下
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • 实例化类时重写虚拟方法

    我有一个带有一些虚函数的类 让我们假设这是其中之一 public class AClassWhatever protected virtual string DoAThingToAString string inputString retu
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • 将数组从 jquery ajax 传递到代码后面

    我必须将二维数组传递给在asp net网页代码后面编写的页面方法我有一个变量objList作为二维数组 我使用以下代码来实现此目的 但没有成功 并且未调用页面方法 脚本语言 function BindTable objList ajax u

随机推荐

  • 对 ole db 提供程序“microsoft.ace.oledb.12.0”的临时访问已被拒绝。您必须通过链接服务器访问该提供商

    当尝试在sql server中导入excel文件时 出现上述错误 转到链接服务器 gt 提供程序 然后双击您在 OPENROWSET 查询中使用的提供程序 然后检查是否 禁止临时访问 是否启用如下所示 您还可以在注册表中的 HKEY LOC
  • 了解递归函数的工作原理

    正如标题所解释的 我有一个非常基本的编程问题 但我还无法理解 过滤掉所有 极其聪明的 为了理解递归 必须先理解递归 网上各种帖子的回复我还是不太明白 了解当面对不知道我们不知道的事情时 我们可能会倾向于提出错误的问题或错误地提出正确的问题我
  • Nodejs为Redis请求设置超时

    我编写了一个简单的服务 使用 redis 将数据存储在内存中或从磁盘中获取数据 然后存储在内存中 并希望为慢速请求设置超时 我希望找到一种方法发出带有超时的获取请求 以防止该请求挂起 任何帮助表示赞赏 因此 您可以在这里做一些事情 但是 首
  • MonoDroid 的 MVVM 框架?

    MonoDroid 已经有 MVVM 框架了吗 或者 MonoDroid 是否能够自行绑定属性和命令 例如用于 WPF Silverlight WP7 的 MVVM Light Toolkit 还没有 MVVM 但是有 MonoCross
  • 带 POST 参数的 FacesContext 重定向

    我需要使用 POST 参数将页面重定向到外部站点 但我无法使用普通 HTML
  • OpenCV 变换矩阵:仿射与透视扭曲

    您好 我目前正在研究图像转换 但有一件关于扭曲的事情我不明白 即有什么区别warpAffine http docs opencv org 2 4 modules imgproc doc geometric transformations h
  • 过期的消息不会从 RabbitMQ 中删除

    我通过生产者向 RabbitMQ 发送一条普通消息 然后发送第二条消息expiration属性分配给一个值 然后使用rabbitmqctl list queues命令我监视消息的状态 我发现如果我先发送一条普通消息 然后发送一条消息expi
  • SharePoint 在代码隐藏中获取当前页面的完整 URL

    在 SharePoint 中 如何从隐藏代码中获取当前页面的 url 例如包含 blah aspx 页面 SPContext Current Web Url 给出http vm en http vm en 我需要它http vm en Pa
  • 当信号到来时杀死 bash 脚本前台子进程

    我将 fastcgi 应用程序包装在 bash 脚本中 如下所示 bin bash stuff fastcgi bin stuff 由于 bash 仅在前台脚本结束时执行信号陷阱 所以我不能只是kill TERM scriptpid因为 f
  • Objective-C 类中的 Swift 协议扩展

    我有一个用 Swift 编写的协议 应该由多个控制器遵守 其中一些控制器是用 Objective C 编写的 并非所有人都需要此 Swift 协议中的所有方法 因此首先我决定提供一些具有默认实现的方法 以使它们成为 可选 但在这种情况下 我
  • TensorFlow 的无效参数错误(形状不兼容)

    我正在尝试使用 MNIST 数据集的张量流训练一个简单的网络 目前虽然它不起作用 它基本上是 TensorFlow 网站上给出的示例的修改版本 我只是改变了几行并删除了一层来看看发生了什么 这是我的代码 usr bin python imp
  • Spark JDBC fetchsize 选项

    我目前有一个应用程序 它应该连接到不同类型的数据库 使用 Spark 的 JDBC 选项在该数据库上运行特定查询 然后将生成的 DataFrame 写入 HDFS Oracle 的性能非常糟糕 没有检查所有这些 原来是因为fetchSize
  • 使用 matlab 识别实时视频源中的白框

    我目前正在使用 matlab 编写一个项目 该项目使用两个相对较大的方块来识别实时视频源中的一张纸 然而 纸张可以是任何颜色或上面有任何图像 我对彩色图像使用白色框 对非彩色图像使用黑色框 尽管这些框在视频中显示得非常清楚 但我不知道如何编
  • CSS3 同一元素的多次转换

    我正在尝试为我的一张背景图像制作下拉效果 我可以使用 css3 做到这一点 但它并不完整 效果应该是窗帘落下然后弹回一点 css3 的问题是我不知道如何对同一属性进行转换 因为最后一个会覆盖前一个 这是我的代码 ul nav li a AD
  • 如何在“删除文件”任务中从删除中排除某些目录和文件

    我想删除其中的所有文件 Build ArtifactStagingDirectory 它是相应构建代理文件夹中所谓的 a 文件夹 单击阅读有关天蓝色管道中预定义变量的更多信息 我也知道删除文件任务 https learn microsoft
  • Spark 结构化流检查点在生产中的使用

    在使用 Spark 结构化流时 我很难理解检查点的工作原理 我有一个 Spark 进程 它会生成一些事件 并将其记录在 Hive 表中 对于这些事件 我在 kafka 流中收到确认事件 我创建了一个新的火花过程 将 Hive 日志表中的事件
  • 用 C 和 C++ 编写的解释器如何将标识符绑定到 C(++) 函数

    我在这里讨论的是 C 和 或 C 因为这是我所知道的唯一用于解释器的语言 其中以下可能会出现问题 如果我们有一种解释性语言 X 为其编写的库如何向该语言添加函数 然后可以从用该语言编写的程序中调用这些函数 PHP 示例 substr str
  • 控制台maven编译错误

    我正在制作春季官方指南之一 http spring io guides gs maven http spring io guides gs maven 但是 当到达必须使用 Maven 进行编译的部分时 会发生以下情况 INFO Scann
  • 替换嵌套数组中的对象

    我有一个数组 其中存储了另一个代理数组 在此代理数组中 仅包含每个代理的 id 使用 ID 我获取每个代理所需的数据 并且我想用新的完整代理数据替换原始代理数组 或者至少将新数据推送给特定代理 这是我到目前为止所尝试过的 有简单的方法吗 如
  • .net C#,保护每种方法的最佳实践是什么?

    我有一个 Web 项目 其中有一个处理一些数据操作的业务层 我想通过检查是否存在活动的未结束有效来保护某些或所有方法Session在执行该方法之前 我首先想到使用Attribute上课了 但我无法正确运行它 由于该类是一个普通类并且不是派生