JSF 2.0 简单登录页面

2023-12-13

我需要限制对应用程序的一部分的访问。为了访问该部分,用户需要登录。我的数据库中有一个名为 User 的表,其中包含用户名和散列密码以及由两个输入和一个提交组成的登录表单。但是,我不知道应该使用哪些类/数学来登录用户(我假设 jsf 中支持此功能)。另外,据我所知,我需要编辑 web.xml 以支持身份验证。有人可以提出一个典型的解决方案和一般步骤,我需要做才能获得该功能(链接,非常有价值的教程)?

我还想知道如果该人未登录,如何限制对另一个页面的访问,因此当用户键入页面的直接链接时,他将被重定向到主登录页面。

预先感谢您的任何帮助。 格莱姆.


您可以使用 Servlet 3.0 中引入的 HttpServletRequest API:

    /**
     * Performs authentication via HttpServletRequest API
     */
    public String login(String username, String password) throws IOException {
        try {
            getRequest().login(username, password);
            this.user = userDao.find(username);
        } catch (ServletException e) {
            JsfUtil.addErrorMessage(JsfUtil.getStringResource("loginFailed"));
            return null;
        }
        return "/index?faces-redirect=true";
    }

    public String logout() throws ServletException {
        this.user = null;
        FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
        if (isAuthenticated())
           getRequest().logout();
        return "logout";
    }

    public boolean isAuthenticated() {
        return getRequest().getUserPrincipal() != null;
    }

    public static HttpServletRequest getRequest() {
        Object request = FacesContext.getCurrentInstance().getExternalContext().getRequest();
        return request instanceof HttpServletRequest
                ? (HttpServletRequest) request : null;
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JSF 2.0 简单登录页面 的相关文章

  • 如何将 NLog 用于 DLL

    我正在尝试使用 Nlog Refresh 1 0 为类库项目实现一个简单的日志 当 nlog 从 dll 中实例化时 它似乎不会创建日志文件 还有其他办法解决这个问题吗 我的配置文件如下所示
  • 如何显示 RSpec 测试生成的 SQL 查询日志?

    我正在为我的 Rails 3 应用程序编写规范 我想测试数据库事务是否真的有效 如果能够看到我的应用程序在规范驱动下生成的 sql 查询 这将非常有帮助 有没有办法像在 Rails 控制台中一样查看查询 我正在使用 Rails 3 0 9
  • 如何将本机数据库运算符 (postgres ~) 与 JPA 标准生成器一起使用?

    我使用 JPA 2 0 标准构建以下查询 简化 select n from notif n where n message b la 我正在使用 postgresql 数据库 我真的需要 运算符 而不是像 我可以使用与 CriteriaBu
  • ActiveRecord 查询,按关联排序,最后一个 has_many

    我试图列出所有Users by the created at最近创建的关联记录 通讯 列 到目前为止我所拥有的 User includes communications order communications created at IS
  • Postgresql:SERIAL 在约束 INSERT 失败时递增

    有一个像这样的简单表结构 CREATE TABLE test id INT PRIMARY KEY sid SERIAL 我注意到如果我尝试插入一行但它未通过约束测试 即主键约束 SERIAL计数器无论如何都会增加 所以下一次成功插入 si
  • jsf中如何处理周围的命名容器?

    我有一个 jsf 2 0 页面 其中包含
  • 如何为 MySQL 和 Postgres 编写不区分大小写的查询?

    我在本地运行 MySQL 数据库进行开发 但部署到使用 Postgres 的 Heroku Heroku 处理几乎所有事情 但我不区分大小写的 Like 语句变得区分大小写 我可以使用 iLike 语句 但我的本地 MySQL 数据库无法处
  • 如何在 log4j2 中格式化堆栈跟踪?

    默认情况下 log4j2 在多行上打印堆栈跟踪 用newline人物 就像是 java lang NullPointerException error enovountered at at at 我希望我的堆栈跟踪在一行上 类似于 本质上使
  • 具有 HTTP 基本身份验证的 PhoneGap FileTransfer

    我正在尝试使用以下命令将文件从 PhoneGap 上传到服务器文件传输方法 http docs phonegap com en 1 6 1 cordova file file md html FileTransfer 我需要为此上传启用 H
  • 验证域用户凭据

    我需要一种方法来验证 Windows 上本机 C 的用户 密码对 输入的是用户名和密码 用户可以是 DOMAIN user 格式 基本上我需要编写一个函数 如果用户 密码是有效的本地帐户 则返回 true 第1部分 如果用户 密码在给定的域
  • ASP.NET Core 2.0禁用自动质询

    将我的 ASP NET Core 项目升级到 2 0 后 尝试访问受保护端点不再返回 401 而是重定向到 不存在的 端点以尝试让用户进行身份验证 应用程序所需的行为只是返回 401 以前我会设置AutomaticChallenge fal
  • 基于列顺序的查询速度

    数据库中列类型的顺序对查询时间有影响吗 例如 具有混合排序 INT TEXT VARCHAR INT TEXT 的表的查询速度是否会比具有连续类型 INT INT VARCHAR TEXT TEXT 的表慢 答案是肯定的 这确实很重要 而且
  • Rails 多租户架构,限制多个租户的访问范围

    目前我们有一个单租户数据库架构 MySQL 运行着超过 100 个数据库 我们使用 Apartment gem 切换子域上的数据库连接 一切都很顺利 然而 我们现在需要创建所谓的 伞 客户端 它可以访问一组现有客户端的所有数据 我不认为这对
  • 防火墙后面的 Web 应用程序上的 OAuth——这可能吗?

    我正在尝试构建一个网络应用程序来将事件添加到员工的谷歌日历中 并希望使用 OAuth 进行身份验证 但是 我的 Web 应用程序被迫位于防火墙后面的 Intranet 上 服务器具有出站 Internet 访问权限 但如果您不在 Intra
  • Logback线程池

    我使用 Logback 进行日志记录 我有一个问题 我将 AsyncAppender 与 ConsoleAppender 结合使用 当应用程序启动时 它会创建具有 logback 线程名称的线程池 所有日志记录工作均由 AsyncAppen
  • pq:无法调整共享内存段的大小。设备上没有剩余空间

    我在仪表板上有许多面板 数量约为 6 个 用于显示数据点图表 对 PostgreSQL 数据库的 Dockerized 实例进行查询 直到最近 面板都工作正常 有些面板停止工作并报告如下错误 pq 无法将共享内存段 PostgreSQL 2
  • 如何使用 SPNEGO 和 CAS 获取 LDAP 用户属性?

    使用 CAS 5 3 x 和 SPNEGO Kerberos 身份验证 如何获取除 SAMAccountName 之外的更多用户属性 当我只使用 标准 LDAP 身份验证处理程序时 我可以放置以下配置 cas authn ldap 0 pr
  • Android studio 在日志猫中“清除全部”,更改日志级别过滤器时日志仍然会回来

    在 LogCat 中 当我单击 全部清除 按钮时 它似乎清除了所有日志 但是 如果我更改日志级别并返回到之前的日志级别 则所有日志都会返回 例如 我正在查看 Verbose 我选择 全部清除 日志清除 我切换到 调试 我切换回 详细 现在所
  • 即使将“enable_seqscan”设置为关闭后,也未使用数组列上的 GIN 索引?

    根据推荐this https stackoverflow com questions 4058731 can postgresql index array columns comment10357041 4059785评论 我建立了一个 i
  • Postgresql插入触发器设置值

    假设在 Postgresql 中 我有一个表T它的一栏是C1 我想在新记录添加到表中时触发一个函数T 该函数应该检查列的值C1在新记录中 如果它为 null 空 则将其值设置为 X 这可能吗 您需要触发器是正确的 因为为列设置默认值对您不起

随机推荐

  • 将 Django 项目移植到 Python 3 和 Django 2 时的迁移问题

    我一直在将 Django 项目移植到 Python 3 和 Django 2 我必须按照 Django 2 中的要求 将 on delete 添加到带有外键的所有模型中 现在我尝试对这些更改进行迁移TypeError init missin
  • 使用 cout << 运算符时如何用前导零填充浮点数

    将这些问题放在一起 使用 cout 使用 cout 打印正确的小数位数 我如何流式传输到 std cout 例如这个变量 double x 7 1224 并让它看起来像这样 07 12 Combine std setw std setfil
  • 限制 UITextField 中的字符数[重复]

    这个问题在这里已经有答案了 我看过很多答案 但似乎没有一个起作用 我有一个以编程方式创建的 UIAlertView 其中包含两个 UITextFields 我想限制字符数 第一个字段有 12 个字符 第二个字段中有 1 个字符 第一个字段代
  • 在 iOS 5 中预填充核心数据

    貌似有一些修改NSPersistentStoreCoordinator方法是iOS 5 我正在尝试获取预填充的数据库 它似乎不起作用 没有崩溃 但似乎没有数据存在 有什么建议吗 NSPersistentStoreCoordinator pe
  • 根据批准状态和特定订单项目更改 WooCommerce 订单状态

    当当前状态为 已批准 且订单包含特定产品 id 10 时 我尝试将 WooCommerce 订单状态更改为 处理中 我尝试了下面的代码 但它不起作用 我对 php 很陌生 希望得到任何指导 add action woocommerce or
  • __lt__ 实际上对列表做什么[重复]

    这个问题在这里已经有答案了 假设我有两个列表 然后运行以下命令 gt gt gt s 1 2 3 gt gt gt t 1 2 4 gt gt gt s gt t False gt gt gt s lt t True 但是如果我运行以下命令
  • 显示子级的innerHTML

    i have td div aaaaaa div td 我怎样才能获得 td1 的孩子的innerHTML function displaymessage var i 0 alert document getElementById td1
  • 更新/提取 Mongodb/Mongoose 子文档数组中包含的数组中的值

    我在 mongoDB 集合中有一个文档 如下所示 id 5d4721e0b904e825755eaf89 sellers id 5d5eeaf7867a4e1e9a1219e6 bizs id 6a5eeaf7867a4e124a1219a
  • C 语言有 setfill() 替代方案吗?

    In C int main cout lt lt setfill lt lt setw 10 lt lt 5 lt lt endl return 0 Outputs 5 有没有setfill C 的替代品 或者如何在 C 中执行此操作而无需
  • Windows 窗体应用程序,带有窗体的自动缩放控件

    我是新手 设计一个可以调整大小的表单 并且我希望我的文本框 标签和按钮随表单调整大小 有人可以告诉我该怎么做吗 这取决于您需要的布局类型 您必须执行的 基本工具 具有以下属性 Anchor and Dock Anchor 使用 Anchor
  • 在运行时生成 HTML 文件并作为电子邮件附件发送

    我有一个项目要求 我们需要将 HTML 格式的日志表附加到发送给用户的电子邮件中 我不希望日志表成为正文的一部分 我不想使用 HTMLTextWriter 或 StringBuilder 因为日志表非常复杂 是否有另一种我没有提到的方法或可
  • PHP 从 XML 中检索数据

    我第一次尝试从地图应用程序的 XML 检索数据失败了 这是 XML Feed 的一部分
  • 使用productElements将元组转换为HList

    我正在使用 Shapeless 2 2 5 我尝试使用下面的代码将元组转换为 HList import shapeless import syntax std product 23 foo 2 0 true productElements
  • JavaScript、浏览器、窗口关闭 - 发送 AJAX 请求或在窗口关闭时运行脚本

    我试图找出用户何时离开指定页面 找出他何时使用页面内的链接导航离开是没有问题的 但我需要标记一些内容 例如他关闭窗口或键入另一个 URL 并按 Enter 键时 第二个不太重要 但第一个很重要 所以问题是 我怎样才能看到用户何时关闭我的页面
  • 如何以编程方式设置 iPhone 壁纸

    我正在开发一个应用程序 其中我必须将图像设置为iPhone壁纸 滑动解锁 屏幕上的背景图像 我们有这方面的 API 参考吗 请帮忙 提前致谢 帕尔梅斯瓦尔 目前 您唯一可以做的就是将图像保存到相机胶卷中 并为用户提供有关如何使用新图像更改壁
  • 在trigger_error之前的'@'(沉默运算符,at符号)的目的是什么?

    我在许多 Symfony 包 以及其他代码 中看到了这一行 trigger error The class is deprecated E USER DEPRECATED 根据文档 at 运算符用于消除错误 http php net man
  • 创建 atoi 函数

    我正在尝试创建自己的 atoi 函数 通过以下代码 我得到的返回值为 0 无论我更改函数中的数字变量 我都会得到返回值 关于修改代码有什么建议吗 my atoi function int atoi me char numstring int
  • HttpClient 中使用 wait 的异步调用永远不会返回

    我正在从基于 xaml 的内部拨打电话 C Win8 CP上的metro应用 此调用只需访问 Web 服务并返回 JSON 数据 HttpMessageHandler handler new HttpClientHandler HttpCl
  • 阻止直接 URL 访问图像文件?

    我想阻止人们通过在浏览器地址栏中输入 URL 来获取我网站的图像 同时允许他们在访问网页时查看图像 我尝试了以下 htaccess 代码 RewriteEngine on RewriteCond HTTP REFERER http www
  • JSF 2.0 简单登录页面

    我需要限制对应用程序的一部分的访问 为了访问该部分 用户需要登录 我的数据库中有一个名为 User 的表 其中包含用户名和散列密码以及由两个输入和一个提交组成的登录表单 但是 我不知道应该使用哪些类 数学来登录用户 我假设 jsf 中支持此