Symphony AngularJS MongoDB 移动 UI 项目 - sammui

安装: 73

依赖: 0

建议者: 0

安全性: 0

星标: 9

关注者: 2

分支: 3

类型:项目


README

Join the chat at https://gitter.im/renatomefidf/sammui

Build Status Code Climate Test Coverage Latest Stable Version Total Downloads Latest Unstable Version License

Symphony Angular MongoDB 移动 UI 项目

原作者 @flyers: https://github.com/FlyersWeb/angular-symfony

镜像: http://gitlab.renatomefi.com.br/renatomefi/sammui/commits/master

简介

本项目是一个模板应用程序,通过 RestFul API 在客户端(AngularJS)和服务器端(Symfony2)之间实现安全通信。

使用的库和技术

  • Symfony 2.6

  • Doctrine MongoDB Bundle (doctrine/mongodb-odm-bundle) 3.0

  • FOS Rest Bundle (friendsofsymfony/rest-bundle) 1.4

  • FOS User Bundle (friendsofsymfony/user-bundle) 1.3.5

  • 布局 Mobile Angular UI - http://mobileangularui.com/

JetBrains WebStorm

我们非常高兴使用 WebStorm IDE。

感谢 JetBrains 为开源项目提供许可证

Build Status

自动安装

主分支

composer create-project renatomefidf/sammui sammui dev-master

任何标签

composer create-project renatomefidf/sammui sammui v0.0.1

在以下位置检查 composer 包: https://packagist.org.cn/packages/renatomefidf/sammui

手动安装

克隆项目

git clone git@github.com:renatomefidf/sammui sammui

更新包

cd angular-symfony
composer.phar install

配置

创建缓存和日志文件夹

mkdir app/cache
mkdir app/logs
chmod -R 777 app/cache
chmod -R 777 app/logs

编辑数据库凭证

vim app/config/parameters.yml

要在 ORM 和 ODM(数据库和 MongoDB)之间切换,请在 config.yml 中取消以下行的注释:

# FOS User Bundle for ORM
fos_user:
    db_driver: orm
    firewall_name: main
    user_class: Flyers\BackendBundle\Entity\User

# FOS User Bundle for MongoDB
fos_user:
    db_driver: mongodb
    firewall_name: main
    user_class: Flyers\BackendBundle\Document\User

更新架构(FOSUserBundle): * MongoDB 不需要

php app/console doctrine:schema:create

创建和激活用户

php app/console fos:user:create
php app/console fos:user:activate

将项目链接到您的 web 服务器并访问它

ln -snf ./ /var/www/html/angular-symfony
firefox http://localhost/angular-symfony/ &

想通过 nginx 运行它?docs/nginx 中有一个示例虚拟主机

数据库

如果您想使用我的当前开发数据库,您可以在 /docs/mongo/DATE_dump 获取它。我使用 mongodump 工具,所以恢复很容易!

身份验证系统

身份验证系统基于 Symfony2 食谱中的自定义身份验证提供者: https://symfony.ac.cn/doc/2.1/cookbook/security/custom_authentication_provider.html

以下章节演示了如何创建一个自定义身份验证提供者以进行 WSSE 身份验证。WSSE 安全协议提供多项安全优势

  • 用户名/密码加密
  • 防止重放攻击
  • 无需 web 服务器配置

WSSE 对于保护 SOAP 或 REST 等网络服务非常有用。

我使用了完全相同的身份验证系统,只是在生成摘要的时刻稍作修改,我们使用哈希种子的十六进制值代替二进制值。

客户端特定

在客户端,我从 Nils Blum-Oeste 的文章中获得了灵感,该文章解释了如何为每个请求发送授权令牌。为此,您必须为每个资源操作注册一个包装器,该包装器在执行操作之前执行特定代码。有关更多信息,请参阅 http://nils-blum-oeste.net/angularjs-send-auth-token-with-every--request/

不同之处在于我通过 HTTP 标头 X-WSSE 发送令牌、用户名和用户摘要。

结论

您可以使用此模板并根据需要对其进行调整。

@FlyersWeb

@renatomefidf 的调整

  • MongoDB 支持

  • Symfony 及相关依赖项/捆绑包更新

  • 包管理器项目