renatomefidf / sammui
Symphony AngularJS MongoDB 移动 UI 项目 - sammui
Requires
- php: >=5.3.3
- doctrine/doctrine-bundle: ~1.2
- doctrine/mongodb: 1.2.*@dev
- doctrine/mongodb-odm: 1.0.*@dev
- doctrine/mongodb-odm-bundle: 3.0.*@dev
- doctrine/orm: ~2.2,>=2.2.3
- friendsofsymfony/oauth-server-bundle: 1.4.2
- friendsofsymfony/rest-bundle: 1.5.0-RC5
- friendsofsymfony/user-bundle: 1.3.5
- incenteev/composer-parameter-handler: ~2.0
- jms/di-extra-bundle: *
- jms/security-extra-bundle: *
- jms/serializer-bundle: *
- nelmio/api-doc-bundle: 2.7.*
- qandidate/symfony-json-request-transformer: *
- sensio/distribution-bundle: ~3.0
- sensio/framework-extra-bundle: ~3.0
- sp/bower-bundle: 0.11.*
- symfony/assetic-bundle: ~2.3
- symfony/monolog-bundle: ~2.4
- symfony/swiftmailer-bundle: ~2.3
- symfony/symfony: 2.6.*
- twig/extensions: ~1.0
Requires (Dev)
- doctrine/doctrine-fixtures-bundle: 2.2.*
- phpunit/phpunit: 4.5.*
- sensio/generator-bundle: ~2.3
This package is not auto-updated.
Last update: 2024-09-14 16:29:24 UTC
README
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 为开源项目提供许可证
自动安装
主分支
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 及相关依赖项/捆绑包更新
-
包管理器项目