Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ServiceStack RequiredRole正在将我的有效期(生存期)重置为2周

ServiceStack RequiredRole正在将我的有效期(生存期)重置为2周
EN

Stack Overflow用户
提问于 2015-10-02 12:27:48
回答 1查看 76关注 0票数 1

我使用ServiceStack和Redis来存储会话。会话到期时间是根据每个用户设置的。对于这些特定的服务方法来说,这一切都很有效,这些方法的副作用是,当我使用[RequiredRole(Roles.Admin)]时,将TTL (生命时间)更改为默认的2周,但是仅仅使用[Authenticate]并不存在任何问题。

代码语言:javascript
运行
AI代码解释
复制
using Repositories.DTO;
using ServiceStack;
using ServiceStack.Auth;

namespace WebApi.Controllers
{
    public class RegistrationService : RegisterService
    {
        private readonly RegistrationRepo _repo;

        public RegistrationService(RegistrationRepo repo)
        {
            _repo = repo;
        }

        [Authenticate] // No problems
        public object Put(RegistrationRequest registration)
        {
            var result = _repo.UpdateUser(registration.user);

            return new
            {
                user = result
            };
        }

        [Authenticate]
        [RequiredRole(Roles.Admin)] //Problems. Expiry resets to 2 weeks
        public object Post(RegistrationRequest registration)
        {
            var result = _repo.UpdateUser(registration.user);

            return new
            {
                user = result
            };
        }

我最初在自定义SessionExpiry类的OnAuthenticated中设置了CredentialsAuthProvider,并且不手动更改应用程序中的任何其他位置(此时没有滑动期呼气 )。

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-02 13:26:37

每次保存会话时,都会再次保存默认会话到期时间,您可以在顶层的临时会话AuthFeature.SessionExpiry或永久会话(记住我)会话中指定AuthFeature.PermanentSessionExpiry

您还可以在每次保存会话时拦截会话,并通过在OnSaveSession中重写AppHost来更改保存会话的到期日期:

代码语言:javascript
运行
AI代码解释
复制
public override void OnSaveSession(
    IRequest httpReq, IAuthSession session, TimeSpan? expiresIn = null)
{
    var customExpiry = ...
    base.OnSaveSession(httpReq, session, customExpiry);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32915347

复制
相关文章
SQL Server重置自增的值为0
提出问题: 随时测试的越多,自增的ID就越大,那么就要想办法进行恢复成初始的状态了。
手撕代码八百里
2020/07/28
1.8K0
SQL Server重置自增的值为0
使用ServiceStack构建Web服务
提到构建WebService服务,大家肯定第一个想到的是使用WCF,因为简单快捷嘛。首先要说明的是,本人对WCF不太了解,但是想快速建立一个WebService,于是看到了MSDN上的这一篇文章 Building Cross-Platform Web Services with ServiceStack,所以这里简要介绍一下如何使用ServiceStack快速建立一个WebService服务。 当然,在开始之前,首先要说明一下ServiceStack是个什么东西。 在国内用ServiceStack的似乎很少
庞小明
2018/03/07
1.7K0
使用ServiceStack构建Web服务
ServiceStack.Redis 使用教程
环境准备 Redis (使用Windows版本做测试,运营环境建议使用Linux版本) ServiceStack.Redis-v3.00 在Windows上运行Redis服务器作开发和测试是很好的,但
张善友
2018/01/19
1.5K0
ServiceStack.Redis 使用教程
Mysql max_allowed_packet自动重置为1024的情况
前几天在群里有个朋友问到max_allowed_packet被自动重置的问题,于是打算写个文章来描述下,因为遇到这个问题的人不少,但是提到的解决方案几乎没有。
lyb-geek
2018/09/27
1.5K0
使用 ServiceStack 构建跨平台 Web 服务
本文主要来自MSDN杂志《Building Cross-Platform Web Services with ServiceStack》,Windows Communication Foundation (WCF) 是一个相当优秀的服务框架,当我们讨论跨平台的服务的时候,虽然WCF对WebService的支持还行,在面对一些高级应用的不太好,微软重新发展了ASP.NET WebAPI框架,关于这两个框架的讨论可以看我另外一篇文章《WCF和ASP.NET Web API在应用上的选择》 。在讨论跨平台的Web
张善友
2018/01/29
1.7K0
为数十亿台设备提供权限自动重置功能
贡献者 / 软件工程师 Inara Ramji、交互设计师 Rodrigo Farell、产品经理 James Kelly、项目经理 Henry Chin
Android 开发者
2022/03/10
7230
为数十亿台设备提供权限自动重置功能
将我理解的web3.0讲给你听
写在前面 因为一直关注这个web行业的发展,所以web3.0也一直在关心他的走势,所以今天就用我认为最简单的一段话来讲解一下我认为的web3.0,解释一下为什么web2.0必须要被推翻,什么叫做去中心化等等一些概念,我不会讲一些什么DAO、NFT这些看起来你们就不怎么感兴趣的话题,下面直接说(概念对与不对不重要,重要的是要明白新兴产物的利弊权衡) web2.0是什么?弊端是什么? 在说web3.0之前首先说一下web2.0的是什么以及他的弊端是什么,相信看我文章的人十之八九都是搞技术的,不管是前端、
何处锦绣不灰堆
2022/08/07
2350
6.7 变量的存储方式和生存期
函数中的局部变量,如果不专门声明为static(静态)存储类别,都是动态地分配存储空间 的。在调用该函数时,系统会给这些变量分配存储空间,在函数调用结束时就自动释放这 些存储空间,因此这类局部变量称为自动变量
小林C语言
2019/08/19
6040
7.5 变量的存储方式和生存期
4、全局变量全部存放在静态存储区中,在程序开始执行时给全局变量分配存储区,程序执行完毕就释放。
小林C语言
2019/07/12
7620
linux mysql重置密码_linux系统重置
大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。 Jetbrains全系列IDE稳定放心使用
全栈程序员站长
2022/11/04
6.2K0
为反对种族歧视,GitHub 正在废除master/slave
像IBM、亚马逊这样的科技巨头都暂停了警方对其面部识别技术的使用,近日微软也表态“喊停人脸识别”。
开发者技术前线
2020/11/24
4820
为反对种族歧视,GitHub 正在废除master/slave
利用 Resetter 将 Ubuntu 系发行版重置为初始状态
这个 Resetter 工具可以将 Ubuntu、 Linux Mint (以及其它基于 Ubuntu 的发行版)返回到其初始配置。
会长君
2023/04/26
1.3K0
重置vue组件的data数据 this.$options.data() 重置
我们通常使用element-ui form表单组件时 点击表单重置按钮清空form表单数据
xyzzz
2020/11/27
7K0
域名有效期监控的最佳方案
今天分享一个使用shell脚本实现域名有效期的监控 不喜欢开场白,还是直接上干货... #!/bin/bash #检测域名是否过期 #作者:xuexiaobai@shell.com #日期:20200224 #版本:v0.1 #当前日期时间戳,用于和域名的到期时间做比较 currentTimestamp=`date +%s` #检测whois命令是否存在,不存在则安装whois包 isInstallWhois() { which whois >/dev/null 2>/dev/null
公众号: 云原生生态圈
2021/11/15
1.9K0
C# 通过ServiceStack 操作Redis——Hash类型的使用及示例
Hash:结构 key-key-value,通过索引快速定位到指定元素的,可直接修改某个字段
明志德道
2023/10/21
4220
C# 通过ServiceStack 操作Redis——Hash类型的使用及示例
7.5 C语言变量的存储方式和生存期
4、全局变量全部存放在静态存储区中,在程序开始执行时给全局变量分配存储区,程序执行完毕就释放。
小林C语言
2020/12/07
8130
7.5 C语言变量的存储方式和生存期
Redis客户端ServiceStack.Redis的简单使用
在nuget中下载ServiceStack.Redis,但是运行之后会出现一个问题:
Ryan_OVO
2023/10/18
5040
有效期内查询逻辑
QUERY * (campaignDateStart<=SearchEndDate and SearchEndDate <=campaignDateEnd) * OR * (campaignDateStart<=SearchFromDate and SearchEndDate <=campaignDateEnd) * OR * (SearchFromDate <=campaignDateEnd and cam
Albert陈凯
2018/04/03
7330
重置密码
当用户不小心忘记了密码时,网站需要提供让用户找回账户密码的功能。在示例项目中,我们将发送一封含有重置用户密码链接的邮件到用户注册时的邮箱,用户点击收到的链接就可以重置他的密码,下面是具体做法。 发送邮件设置 Django 内置了非常方便的发送邮件的功能,不过需要在 settings.py 中做一些简单配置。生产环境下通常需要使用真实的邮件发送服务器,配置步骤会比较多一点。不过 Django 为开发环境下发送邮件提供了一些方便的 Backends 来模拟真实邮件的发送,例如直接发送邮件到终端()。在 sett
追梦人物
2018/04/17
4.9K0
重置密码
点击加载更多

相似问题

ServiceStack RequiredRole不要求角色进行访问

10

无法将我的叉子重置为上游

10

ServiceStack独立许可证有效期为LifeTime还是1年?

16

在更新窗体值后,VUEJS正在将我的表单重置为默认值。

28

ServiceStack中服务实例的生存期?

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文