Answers.Body: <p>Its not at all difficult. Here's the example form from the docs:</p>
  
  <p><a href="https://craftcms.com/docs/templating/user-registration-form" rel="nofollow">https://craftcms.com/docs/templating/user-registration-form</a></p>
  
  <pre><code>&lt;form method="post" accept-charset="UTF-8"&gt;
      {{ getCsrfInput() }}
      &lt;input type="hidden" name="action" value="users/saveUser"&gt;
      &lt;input type="hidden" name="redirect" value=""&gt;
  
      {% macro errorList(errors) %}
          {% if errors %}
              &lt;ul class="errors"&gt;
                  {% for error in errors %}
                      &lt;li&gt;{{ error }}&lt;/li&gt;
                  {% endfor %}
              &lt;/ul&gt;
          {% endif %}
      {% endmacro %}
  
      {% from _self import errorList %}
  
      &lt;h3&gt;&lt;label for="username"&gt;Username&lt;/label&gt;&lt;/h3&gt;
      &lt;input id="username" type="text" name="username"
          {%- if account is defined %} value="{{ account.username }}"{% endif -%}&gt;
  
      {% if account is defined %}
          {{ errorList(account.getErrors('username')) }}
      {% endif %}
  
      &lt;h3&gt;&lt;label for="email"&gt;Email&lt;/label&gt;&lt;/h3&gt;
      &lt;input id="email" type="text" name="email"
          {%- if account is defined %} value="{{ account.email }}"{% endif %}&gt;
  
      {% if account is defined %}
          {{ errorList(account.getErrors('email')) }}
      {% endif %}
  
      &lt;h3&gt;&lt;label for="password"&gt;Password&lt;/label&gt;&lt;/h3&gt;
      &lt;input id="password" type="password" name="password"&gt;
  
      {% if account is defined %}
          {{ errorList(account.getErrors('password')) }}
      {% endif %}
  
      &lt;input type="submit" value="Register"&gt;
  &lt;/form&gt;
  </code></pre>
  
  <p>And you can find a login form here: <a href="https://craftcms.com/docs/templating/user-profile-form" rel="nofollow">https://craftcms.com/docs/templating/user-profile-form</a></p>
  
  <p>And a profile editing template here: 
  <a href="https://craftcms.com/docs/templating/user-profile-form" rel="nofollow">https://craftcms.com/docs/templating/user-profile-form</a></p>
  
  <p>Also remember that you can use all kinds of custom fields on your users</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-07-05T03:49:47.383Z
Answers.LastActivityDate: 2016-07-05T03:49:47.383Z
Answers.UserDisplayName: Amit Erandole
Body: <p>Apologies if this has been asked before, I couldn't find any documentation specifically about it. </p>
  
  <p>I come from a largely WordPress background but am looking into using Craft Pro for a new client that'll need user registration (real estate website), but I don't want said users to be able to get to the actual CMS backend, rather a simple sort of 'my account' page where it saves their listed properties etc. </p>
  
  <p>Are these sorts of things difficult to pull off in Craft? It seems like this aspect of site dev is quite strictly locked down from what I can extrapolate. </p>
  
Tags: <users><registration>
Title: Custom login/profile sections?
ThreadText: # Custom login/profile sections?
  
  (Asked by: username_0 on 2016-07-05)
  
  Apologies if this has been asked before, I couldn't find any documentation specifically about it.
  
  I come from a largely WordPress background but am looking into using Craft Pro for a new client that'll need user registration (real estate website), but I don't want said users to be able to get to the actual CMS backend, rather a simple sort of 'my account' page where it saves their listed properties etc.
  
  Are these sorts of things difficult to pull off in Craft? It seems like this aspect of site dev is quite strictly locked down from what I can extrapolate.
  
  **Tags:** users, registration
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2016-07-05. Score: 3 | Accepted answer
  
  Its not at all difficult. Here's the example form from the docs:
  
  <https://craftcms.com/docs/templating/user-registration-form>
  
  ```
  <form method="post" accept-charset="UTF-8">
      {{ getCsrfInput() }}
      <input type="hidden" name="action" value="users/saveUser">
      <input type="hidden" name="redirect" value="">
  
      {% macro errorList(errors) %}
          {% if errors %}
              <ul class="errors">
                  {% for error in errors %}
                      <li>{{ error }}</li>
                  {% endfor %}
              </ul>
          {% endif %}
      {% endmacro %}
  
      {% from _self import errorList %}
  
      <h3><label for="username">Username</label></h3>
      <input id="username" type="text" name="username"
          {%- if account is defined %} value="{{ account.username }}"{% endif -%}>
  
      {% if account is defined %}
          {{ errorList(account.getErrors('username')) }}
      {% endif %}
  
      <h3><label for="email">Email</label></h3>
      <input id="email" type="text" name="email"
          {%- if account is defined %} value="{{ account.email }}"{% endif %}>
  
      {% if account is defined %}
          {{ errorList(account.getErrors('email')) }}
      {% endif %}
  
      <h3><label for="password">Password</label></h3>
      <input id="password" type="password" name="password">
  
      {% if account is defined %}
          {{ errorList(account.getErrors('password')) }}
      {% endif %}
  
      <input type="submit" value="Register">
  </form>
  
  ```
  
  And you can find a login form here: <https://craftcms.com/docs/templating/user-profile-form>
  
  And a profile editing template here:
  <https://craftcms.com/docs/templating/user-profile-form>
  
  Also remember that you can use all kinds of custom fields on your users
  
  
  ---
  
  