整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

“非接触式”办税丨电子税务局如何快速办理税务注销

何快速办理税务注销业务?

快一起来看看吧!

厦门市电子税务局已推出【清税注销税(费)申报及缴纳套餐】,可以一键快速办理注销前置事项预检、注销税务登记申请业务!

第一步:注销前置事项办理

1、登录厦门市电子税务局。

2、选择导航栏左侧【套餐业务】下,选择【清税注销税(费)申报及缴纳套餐】。

3、点击【注销预检】,系统将提示您是否符合即办注销条件,同时将展示所有注销业务验证通过与不通过事项。


☑ 第一种情形:

如系统检测符合即办注销条件的纳税人,资料不齐的,可采取“承诺制”容缺办理,并即时出具清税文书。

此时系统将弹出提示:“根据税总发【2018】149号文规定,监控到您当前有未办结事项,可进行“承诺制”容缺办理!”。

输入承诺书期限日期后,点击右上角【打印即办承诺书】,同意说明后打印即办《清税证明》承诺书。

完成以上操作后,右上角【我要办理】按钮亮起,可以点击进入第二步:注销税务登记申请。

☞注意:

1、注销登记“承诺制”容缺办理不适用注销原因为“依法合并”、“依法分立”、“因住所、经营地点变动而改变税务登记机关”,“经确认非正常户期限达到规定期限以上”;如注销原因为这四类时,请到主管税务分局办税大厅办理!(疫情期间请先电话咨询预约哦!)

2、如签署承诺书,自签署当日起生效,承诺期限自签署之日起不超过六个月。

3、如经人民法院裁定宣告破产,可点击“依法破产注销”进行单独申请。


☑ 第二种情形:

不符合即办注销条件的纳税人,需依次完成系统显示的所有未办结注销前置事项。对于不能在线直接办理的业务,系统将提供办理指引。

如所有监控未通过事项已办结,可再次进行【注销预检】。输入经办人姓名、经办人身份证件号码之后,右上角【我要办理】按钮亮起,可以点击进入第二步:注销税务登记申请。

此时可以开始办理注销税务登记申请业务啦!


第二步:注销税务登记申请

1、点击【我要办理】后,请依照表单要求录入数据,填写清税注销税务登记申请

2、录入完毕后,点击右上角【提交】按钮,可进行申请或下载凭证(下载申请表单)。

点击【下载凭证】后,系统将弹出提示:“尊敬的纳税人您好:提交成功后,请不要立即关闭网页(浏览器),并前往文书签收功能中签收注销文书!”

3、点击【申请】,注销申请受理成功,可直接查看回执单。


第三步:注销业务进度查询

1、在电子税务局首页,点击【我要查询】→【办税进度及结果信息查询(新)】。

2、系统将跳转至【事项进度管理】界面,此时可进行查看申请、进度跟踪、查签等操作,点击【进度跟踪】可查看申请进度情况

①所有预检通过,注销成功。

②如存在未办结事项,打印承诺书提交成功后需税务人员受理,受理通过后注销成功。


更多注销规定请点击下方链接

↓↓↓

《国家税务总局厦门市税务局关于进一步明确税务注销工作相关事项的通知》

http://xiamen.chinatax.gov.cn/xmswcms/mobile/content/S36921.html


易注销流程


1 登录http://www.gsxt.gov.cn/index.html 国家企业信用信息公司系统

2 点击 企业信息填报



3 选择公司所在地




4 登录,填写信息后登录系统



5 登录系统后,点击“注销公告填报”



6 选择“简易注销流程”



7 填写“简易注销全体投资人承诺书”(纸质版),所有投资人都要签字,然后盖公章。



8 拍照并上传,这里不截图了,在简易注销页面点击“上传”按钮,上传“简易注销全体投资人承诺书”。

9 上传成功后,点击“保存并公示”按钮。公示就完成了。公示20个工作日后就可以去当地行政审批局去办理注销了。

10 办理注销具体后续再更新(办理完后再来更新)。需要携带资料如下

(1) 全体投资人承诺书

(2) 全体股东身份真复印件

(3) 经办人身份证原件

(4) 执照正,副本

(5) 公章

pringSecurity-8-自动登录和注销功能实现

自动登录的实现

当我们在登录某一个网站的时候,我们会使用账号密码进行登录,但是我们不想每一次关闭浏览器,我们不想每一次重新输入账号和密码,贴合用户的登录体验,给用户带来方便,我们使用自动登录功能,将登录信息保存在浏览器的cookie中,这样用户在下次访问的时候,自动实现校验并新建登录状态。但是这样也会给用户带来信息泄露的危险

自动登录流程

  1. 用户选择记住我登录成功后,会在服务端生成一个Cookie返回到浏览器,Cookie名字默认是remember-me,值是token
  2. 当用户重新访问的时候,会先检查remember-me的cookie对应的token值,如果token值存在则检查token值中的username、序列号和token值是否和服务端生成的相同,相同则通过。并且系统还会重新生成一个新的token,序列化series保持不变,同时删除旧的cookie,重新生成一个新的cookie保存在客户端
  3. 如果cookie不存在,或者username、序列化series和token和服务端的不一样,将重新返回到登录页面。

因为cookie有被盗用的可能,所以如果应用安全性比较高,那么就不要使用remember-me功能。

散列解密方案

SpringSecurity实现自动登录功能非常简单

修改login.html

我们需要在login.html中添加记住我功能,html实现如下

<!--suppress ALL-->
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>springboot葵花宝典登录页面</title>
    <!-- Tell the browser to be responsive to screen width -->
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<h1>springboot葵花宝典登录页面</h1>
<form  th:action="@{/login/form}" action="index.html" method="post">
    <span>用户名称</span><input type="text" name="username" /> <br>
    <span>用户密码</span><input type="password" name="password" /> <br>
    <div >
        <input name="code" type="text" class="form-control" placeholder="验证码">
        <img onclick="this.src='/code/image?'+Math.random()" src="/code/image" alt="验证码" />
    </div> <br>
    <span>记住我</span><input type="checkbox" name="remember-me" >  <br>
    <div th:if="${param.error}">
        <span th:text="${session.SPRING_SECURITY_LAST_EXCEPTION.message}" style="color:#ff0000">用户名或 密码错误</span>
    </div>
    <input type="submit" value="登陆">
</form>
</body>
</html>

修改结果后登录页面展示如下:

修改LearnSrpingSecurity

在configure(HttpSecurity http)方法中添加记住我的配置,代码实现如下

测试

重新启动程序,使用浏览器访问http://localhost:8888/login/page,然后输入账号密码进行登录,结果如下

从图上我们可以看出来,勾选“Remember me”可选框(简写为Remember-me),按照正常的流程登录,并在 开发者工具中查看浏览器cookie,可以看到除JSESSIONID外多了一个值。

cookie个性化配置

在实际的开发过程中,我们还可以根据需求做一些个性化的设置,如下:

.rememberMe()
    .rememberMeParameter("remember-me-new")
    .rememberMeCookieName("remember-me-cookie")
  • 通过rememberMeParameter设置from表单“自动登录”勾选框的参数名称。如果这里改了,from表单中checkbox的name属性要对应的更改。如果不设置默认是remember-me。
  • rememberMeCookieName设置了保存在浏览器端的cookie的名称,如果不设置默认也是remember-me。如下图中查看浏览器的cookie。

持久化令牌方案

持久化令牌方案是交互方式上和散列加密方案一致,都是用户勾选remember-me后,将生成的令牌发送到用户的客户端,用户在下次进行访问的时候会读取该令牌,不同的是会将数据保存到数据库中。

添加数据库依赖

我们在项目中的pom.xml中添加数据库依赖

   <!--mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <!--mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.1</version>
        </dependency>

application.yml中添加数据库配置

spring:
  thymeleaf:
    cache: false
  datasource:
    url: jdbc:mysql://localhost:3306/mybatis?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=utf-8&useSSL=false
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver

使用 JdbcTokenRepository 实现类

在LearnSrpingSecurity配置类中注入DataSourceJdbcTokenRepositoryImpl,实现如下

    @Autowired
    private DataSource dataSource;
    
    @Bean
    public JdbcTokenRepositoryImpl jdbcTokenRepository(){
        JdbcTokenRepositoryImpl jdbcTokenRepository = new JdbcTokenRepositoryImpl();
        jdbcTokenRepository.setDataSource(dataSource);
        jdbcTokenRepository.setCreateTableOnStartup(true);
        return jdbcTokenRepository;
    }

安全配置 LearnSrpingSecurity#confifigure(HttpSecurity http)

在LearnSrpingSecurity的confifigure(HttpSecurity http)方法中添加如下配置

                .and()
                .rememberMe()
                .userDetailsService(customUserDetailsService)
                .tokenRepository(jdbcTokenRepository())
                .tokenValiditySeconds(60)
                .rememberMeParameter("remember-me-test")
                .rememberMeCookieName("remember-me-cookie")

测试效果

  • 重启项目后,数据库会自动创建表 persistent_logins
  • 访问首页跳转到登录页面,登录成功后,查看浏览器 cookies,保存 token 值,在数据库中也有数据。
  • 再重启,Session会清除。再次访问首页,不会跳转到登录页,因为上次已经记录了。这时浏览器Cookie中保存的token从数据库查找用户名,然后进行自动登录。

报错

Caused by: java.sql.SQLSyntaxErrorException: Table 'persistent_logins' already exists

解决方法:

将JdbcTokenRepositoryImpl方法中jdbcTokenRepository.setCreateTableOnStartup(true)注释掉

    @Bean
    public JdbcTokenRepositoryImpl jdbcTokenRepository(){
        JdbcTokenRepositoryImpl jdbcTokenRepository = new JdbcTokenRepositoryImpl();
        jdbcTokenRepository.setDataSource(dataSource);
        //jdbcTokenRepository.setCreateTableOnStartup(true);
        return jdbcTokenRepository;
    }

退出系统

其实使用Spring Security进行logout非常简单,只需要在spring Security配置类配置项上加上这样一行代码:http.logout()。

修改index.html

我们在index.html中添加退出系统功能,实现如下

<!--suppress ALL-->
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8" />
    <title>springboot葵花宝典管理系统</title>
</head>
<body>
    <a th:href="@{/logout}" href="login.html"  > <span>退出系统</span> </a>
    <h1>springboot葵花宝典管理系统</h1>
    <br>
    <a href="/syslog">日志管理</a>
    <br>
    <a href="/sysuser">用户管理</a>
</body>

测试

重新启动项目后,登录成功后展示页面如下,退出登录后,我们发现remember-me-cookie已经删除。虽然我们简简单单的实现了logout功能,是不是还不足够放心?我们下面就来看一下Spring Security默认在logout过程中帮我们做了哪些动作。

  • 当前session失效,即:logout的核心需求,session失效就是访问权限的回收。
  • 删除当前用户的 remember-me“记住我”功能信息
  • clear清除当前的 SecurityContext
  • 重定向到登录页面,loginPage配置项指定的页面

个性化配置

虽然Spring Security默认使用了/logout作为退出处理请求路径,登录页面作为退出之后的跳转页面。这符合绝大多数的应用的开发逻辑,但有的时候我们需要一些个性化设置,如下

                .and()
                .logout()
                .logoutUrl("/logout")
                .logoutSuccessUrl("/login/page")
                .deleteCookies("JSESSIONID")
  • 指定logoutUrl配置修改默认的logout路径,同时html退出按钮的请求url也要修改
  • 指定logoutSuccessUrl配置,指定退出之后的跳转页面
  • 使用deleteCookies删除指定的cookie,参数为cookie的名称

如果您觉得本文不错,欢迎关注,点赞,收藏支持,您的关注是我坚持的动力!

原创不易,转载请注明出处,感谢支持!如果本文对您有用,欢迎转发分享!