首 页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 尾 页

Spring Security实现RBAC权限管理

发布者: PHPYuan | 发布时间:2018-06-03

一、简介

在企业应用中,认证和授权是非常重要的一部分内容,业界最出名的两个框架就是大名鼎鼎的 Shiro和Spring Security。由于Spring Boot非常的流行,选择Spring Security做认证和授权的 人越来越多,今天我们就来看看用Spring 和 Spring Security如何实现基于RBAC的权限管理。

二、基础概念RBAC

RBAC是Role Based Access Control的缩写,是基于角色的访问控制。一般都是分为用户(user), 角色(role),权限(permission)三个实体,角色(role)和权限(permission)是多对多的 关系,用户(user)和角色(role)也是多对多的关系。用户(user)和权限(permission) 之间没有直接的关系,都是通过角色作为代理,才能获取到用户(user)拥有的权限。一般情况下, 使用5张表就够了,3个实体表,2个关系表。具体的sql清参照项目示例。

三、集群部署

为了确保应用的高可用,一般都会将应用集群部署。但是,Spring Security的会话机制是基于session的, 做集群时对会话会产生影响。我们在这里使用Spring Session做分布式Session的管理。

四、技术选型

<

想读更多 ->

nignx负载均衡的实现

发布者: PHPYuan | 发布时间:2018-06-03

1 负载均衡简单原理图2 负载均衡实现 要想实现负载均衡一般需要两台虚拟机,所以我们直接辅克隆一个虚拟机,即可. (1)虚拟机的克隆 a 关闭centos系统,点击虚拟机--->管理--->克隆 单击下一步,进行克隆

创建完整的克隆,设置虚拟机的名称和克隆位置

设置完成之后.等待克隆成功复制完成之后,查看克隆的虚拟机的IP地址,使用shell进行连接重复上面的步骤,再次克隆虚拟主机.(2) 配置负载均衡的实现现在有两台的虚拟主机,linux-1的ip:172.16.0.222 (负载均衡服务器)linux-2 的IP 172.16.0.194(web1)linux-3 的 ip172.16.0.109(web2)a 在linux-1配置负载均衡的实现/usr/local/nginx/conf/nginx.conf配置一个连接池,并配置一个www.123.com的虚拟主机需要添加的代码:upstream web123 { server 172.16.0.194; // 这是web1服务器ip server 172.16.0.109; // 这是web2服务器ip} server { listen 80; server_name www.123.com; location / { proxy_pass http://web123; }}注意

想读更多 ->

京东韩建飞:容器生态下的高性能负载均衡建设之路

发布者: PHPYuan | 发布时间:2018-06-03

在容器和虚拟化技术越来越成熟和普及的今天,业务进程部署的实例呈倍数的递增。作为应用入口的负载均衡,承担了越来越重要的作用。 相对于高速发展的硬件技术,传统的依赖于操作系统协议栈的负载均衡技术,如lvs、haproxy、nginx已经越来越凸显其性能瓶颈。本篇活动家将为大家带来《容器生态下的高性能负载均衡建设之路》的主题分享,将分享在容器生态下,探索自研高性能负载均衡器以及与容器生态相结合的一系列实践之路。欢迎分享或收藏。找技术大会就上活动家。

分享嘉宾:韩建飞

京东商城 基础平台部 资深架构师

京东韩建飞:容器生态下的高性能负载均衡建设之路

想读更多 ->

网络流量监控工具CactiEZ的安装配置

发布者: PHPYuan | 发布时间:2018-06-03

网络流量监控工具CactiEZ的安装配置

想读更多 ->

IIS7/8/8.5安装多版本PHP支持环境

发布者: PHPYuan | 发布时间:2018-06-03

随着互联网的发展,互联网的各项技术也是日新月异,而一些旧的源码程序就可能会在互联网技术发展的过程中逐渐不被兼容,例如08年特别火热的论坛源码DISCUZ,官网最近的版本也已经不支持PHP7.X,当个人站长在需要在WIN服务器下安装多个源码就可能会出现一些取舍上的纠结,例如DISCUZ和WORDPRESS共存的情况下,WORDPRESS在PHP7.0下运行效率要比PHP5.X高很多,又舍不得PHP7.0又需要PHP5.X来兼容DISCUZ的程序,这时PHP Manager就可以帮你解决这个难题。

主机类型:

Windows2008/Windows2012

兼容版本:

IIS7.0/IIS8.0/IIS8.5

所需程序:

PHP Manager(http://phpmanager.codeplex.com/releases/view/69115)

微软对PHP的支持越来越强,这点在IIS7中体现明显,不但有FastCGI的大力支持,还为PHP的管理专门增加了个PHP Manager。有了这个东东,在WINDOWS环境下基于IIS安装PHP简直是易如反掌。

虽然现在PHP7.X问世也有一段时间了,但许多开源的PHP程序都不是很好支持它,就比如说国内最常用的社区论坛源码Discuz的所有版

想读更多 ->

从SQL Server到MySQL,近百亿数据量迁移实战

发布者: PHPYuan | 发布时间:2018-06-03

我们成立于 2001 年,作为较早期的教育学习网站,当时技术选型范围并不大:Java 的版本是 1.2,C# 尚未诞生,MySQL 还没有被 Sun 收购,版本号是 3.23。工程师们选择了当时最合适的微软体系,并在日后的岁月里,逐步从 ASP 过度到 .net,数据库也跟随 SQL Server 进行版本升级。

十几年过去了,技术社区已经发生了天翻地覆的变化。沪江部分业务还基本在 .net 体系上,这给业务持续发展带来了一些限制,在人才招聘、社区生态、架构优化、成本风险方面都面临挑战。集团经过慎重考虑,发起了大规模的去 Windows 化项目。这其中包含两个重点子项目:开发语言从 C# 迁移到 Java,数据库从 SQL Server 迁移到 MySQL。

本文主要向大家介绍,从 SQL Server 迁移到 MySQL 所面临的问题和我们的解决方案。

迁移方案的基本流程

设计迁移方案需要考量以下几个指标:

迁移前后的数据一致性;

业务停机时间;

迁移项目是否对业务代码有侵入;

需要提供额外的功能:表结构重构、字段调整。

经过仔细调研,在平衡复杂性和业务方需求后,迁移方案设计为两种:停机数据迁移和在线数据迁移。如果业务场景允许数小时的停机,那么使用停机迁移方案,复杂度

想读更多 ->

「php」关于‘存储’的那些必备知识

发布者: PHPYuan | 发布时间:2018-06-03

PHP常用缓存技术的总结,关于‘存储’的那些必备知识。

1、全页面静态化缓存:将页面全部生成为HTML静态页面,用户访问时直接访问静态页面,不走PHP服务器的解析流程。此种方式在CMS系统中比较常见,如dedecms。

实现方法:输出缓存

ob_start()--打开“输出控制缓冲”;

some code --要运行的代码;

$content=ob_get_contents()--返回“输出缓冲区的内容”;

some code --使用file_put_contents()等函数将返回的数据写入HTML文件;

ob_clearn()--清空“输出缓冲区”;

2、页面部分缓存:将页面中不常变动的部分进行静态化缓存,而经常变化的部分不缓存,最后组装在一起显示;可以使用类似ob_get_contents()的方式实现,也可以利用类似ESI之类的页面片段缓存策略,使其用来做动态页面中相对静态的片段部分的缓存。该缓存方式常用与商城中的商品页。

3、数据缓存:缓存数据的一种方式。比如,商城中的某个商品信息,当用商品id去请求时,就会得出包括店铺信息、商品信息等数据,此时就可以将这些 数据缓存到一个php文件中,文件名包含商品id来建一个唯一标示;下一次有人想查看这个商品时,首先就直

想读更多 ->

怎样成为PHP 方向的合格的架构师,你只要做到这些就够了!

发布者: PHPYuan | 发布时间:2018-06-03

先明确这里所指的PHP工程师,是指主要以PHP进行Web系统的开发,没有使用其的语言工作过。工作经验大概在3~4年,普通的Web系统(百万级访问,千成级数据以内或业务逻辑不是特别复杂)开发起基本得心应手,没有什么问题。但他们会有这样的误点:

除了PHP不使用其它的语言,可能会点shell 脚本。

对PHP的掌握不精(很多PHP手册都没有看完,库除外)。

怎样成为PHP 方向的合格的架构师,你只要做到这些就够了!

想读更多 ->

Java、JavaScript、PHP、Python能开发什么?你知道吗?

发布者: PHPYuan | 发布时间:2018-06-03

编程语言是什么?

编程语言(programming language),是用来定义计算机程序的语言,用来向计算机发出指令。

如果我们想用电脑或者让一个应用按照你的指令工作,这时就需要用编程语言来把指令翻译成电脑能懂的,从而去完成指令。

Python

PythonPython具有丰富和强大的库。而且能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。

Java、JavaScript、PHP、Python能开发什么?你知道吗?

想读更多 ->

Python读写MySQL中文字符乱码问题速解

发布者: PHPYuan | 发布时间:2018-05-31

Python读写MySQL中文字符乱码问题速解

Python是目前非常火的一门编程语言,主要在于适合面广,可以用于开发各类应用程序。当然也能用于实现web服务器端程序,在使用Python实现读写MySQL数据库时,很多入门的小白同志都会遇到中文字符乱码的问题。

中文字符乱码的情形:

Python读写MySQL中文字符乱码问题速解

源码如下:

Python读写MySQL中文字符乱码问题速解

在遇到问题时,一般我们都会选择百度先查询该问题,于是有了下面的结果:

情况一:没声明字符集